Чат

Делись идеей, получай поддержку и критику!

Re: Чат

Postby eg on 29 Jan 2010, 15:07

Скачай бесплатный ADO тулкит, линк есть в теме о базах данных. Там есть 5 примеров использования, в остальном думаю мы совместными усилиями сможем тебе помочь.
User avatar
eg
guru
guru
 
Posts: 5647
Joined: 13 Nov 2007, 00:20
Location: Homburg/Germany
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2009
Karma: 231
CLAD MOD I/O VIP bloggers internet

Re: Чат

Postby delion on 02 Feb 2010, 10:42

EG у меня такие же задачи как и у FireFly вот пытался с помощью ADO тулкита записывать гиперссылку в базу данных на файл, но не чего не вышло ! Прописывается только заголовок, строка пути остаётся незаполненной. Ты с таким не сталкивался?
User avatar
delion
beginner
beginner
 
Posts: 32
Joined: 10 Feb 2009, 03:55
LabVIEW Version: 8.6
Karma: 0

Re: Чат

Postby eg on 02 Feb 2010, 11:09

А каким образом ты это делаешь? Может быть, если это строка её нужно взять в кавычки?
User avatar
eg
guru
guru
 
Posts: 5647
Joined: 13 Nov 2007, 00:20
Location: Homburg/Germany
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2009
Karma: 231
CLAD MOD I/O VIP bloggers internet

Re: Чат

Postby FireFly on 02 Feb 2010, 14:37

delion wrote:EG у меня такие же задачи как и у FireFly вот пытался с помощью ADO тулкита записывать гиперссылку в базу данных на файл, но не чего не вышло ! Прописывается только заголовок, строка пути остаётся незаполненной. Ты с таким не сталкивался?

У меня путь, в string виде нормально записывается. Что ещё надо?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
User avatar
FireFly
leader
leader
 
Posts: 640
Joined: 25 Apr 2009, 06:58
Location: г. Новосибирск
Medals: 1
Activity (1)
LabVIEW Version: 8.5; 8.6; 2009
Karma: 73
VIP bloggers

Re: Чат

Postby delion on 03 Feb 2010, 09:07

Eg! делаю вот таким образом:
Attachments
Безымянный 2.jpg
C помощью 4 примера записываю в базу данных в столбик гиперссылок
безымянный 3.jpg
Безымянный.jpg
В итоге получается записать в базу данных ссылку она даже выглядит как гиперссылка, но строка адреса остается не заполненной - и гиперссылка не работает!
User avatar
delion
beginner
beginner
 
Posts: 32
Joined: 10 Feb 2009, 03:55
LabVIEW Version: 8.6
Karma: 0

Re: Чат

Postby delion on 06 Feb 2010, 19:35

FireFly, eg, Ребят ну что не чего не подскажите больше, про запись ссылки в базу ?
User avatar
delion
beginner
beginner
 
Posts: 32
Joined: 10 Feb 2009, 03:55
LabVIEW Version: 8.6
Karma: 0

Re: Чат

Postby delion on 06 Feb 2010, 19:41

FireFly, Посмотри фотки что я выложил....у меня через стринг тоже прописывается путь но гиперссылка не работает (см. предыдущий пост)
User avatar
delion
beginner
beginner
 
Posts: 32
Joined: 10 Feb 2009, 03:55
LabVIEW Version: 8.6
Karma: 0

Re: Чат

Postby Viktor on 07 Feb 2010, 11:04

Посмотри настройки Microsoft Office Access!
Может быть он блокирует гиперссылки в целях безопасности :dntknw:
link.PNG
User avatar
Viktor
leader
leader
 
Posts: 631
Joined: 23 Mar 2008, 08:56
Location: Санкт-Петербург
Medals: 3
Activity (1) Professionalism (1)
Tutorials (1)
LabVIEW Version: 2009
Karma: 69
hardware VIP bloggers

Re: Чат

Postby delion on 08 Feb 2010, 14:01

Не эту табличку он всегда выводит....даже когда просто ссылку создаешь в самом access даже не через labVIEW ...
User avatar
delion
beginner
beginner
 
Posts: 32
Joined: 10 Feb 2009, 03:55
LabVIEW Version: 8.6
Karma: 0

Re: Чат

Postby FireFly on 16 Feb 2010, 12:18

Сейчас пишу клиент. Вот задумался над количеством циклов:
Сначала собирался сделать для всей работы с TCP один цикл. Т.е. сначала он просматривает (с таймаутом 0) очередь на наличие чего-нибудь, если обнаруживает в очереди команду (от интерфейса, или от самого себя, возможно появится ещё источник) - выполняет соответствующий Case (в котором скорее всего TCP Write, хотя возможны варианты (выход например)). Если очередь пустая выполнять цикл с TCP Read с таймаутом 300 мс. Если удалось что-нибудь прочитать - посылать в очередь главного (интерфейсного) цикла.
Но вот думаю правильно ли это? Вдруг поток команд в очереди станет постоянным (пока смутно себе это представляю) и не оставит времени на TCP Read? Стоит ли этого опасаться? Может стоит разделить на два цикла - один осуществляет постоянный TCP Read для получения команд с сервера, другой периодический TCP Write в случае появления объектов в его очереди? Не будут ли они конфликтовать друг с другом? Или предусмотреть добавление команды на TCP Read в очередь, а не как щас - по факту пустой очереди?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
User avatar
FireFly
leader
leader
 
Posts: 640
Joined: 25 Apr 2009, 06:58
Location: г. Новосибирск
Medals: 1
Activity (1)
LabVIEW Version: 8.5; 8.6; 2009
Karma: 73
VIP bloggers

Re: Чат

Postby eg on 16 Feb 2010, 12:57

Думаю можно обойтись одним, но сделать приоритет записи данных выше, чем чтения. То есть если есть что записать, то выполнять сразу же после таймаута чтения, если записывать нечего то продолжать чтение.
Получается, что данные будут записываться максимум после одного таймаута. Если таймаут выставить например на 100 мс, то максимальная задержка при записи будет 100 мс. Если такая максимальная задержка устраивает, то можно делать так, иначе можно и два параллельных цикла сделать.
User avatar
eg
guru
guru
 
Posts: 5647
Joined: 13 Nov 2007, 00:20
Location: Homburg/Germany
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2009
Karma: 231
CLAD MOD I/O VIP bloggers internet

Re: Чат

Postby FireFly on 16 Feb 2010, 13:00

eg wrote:Думаю можно обойтись одним, но сделать приоритет записи данных выше, чем чтения. То есть если есть что записать, то выполнять сразу же после таймаута чтения, если записывать нечего то продолжать чтение.
Получается, что данные будут записываться максимум после одного таймаута. Если таймаут выставить например на 100 мс, то максимальная задержка при записи будет 100 мс. Если такая максимальная задержка устраивает, то можно делать так, иначе можно и два параллельных цикла сделать.

FireFly wrote:Вдруг поток команд в очереди станет постоянным (пока смутно себе это представляю) и не оставит времени на TCP Read? Стоит ли этого опасаться?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
User avatar
FireFly
leader
leader
 
Posts: 640
Joined: 25 Apr 2009, 06:58
Location: г. Новосибирск
Medals: 1
Activity (1)
LabVIEW Version: 8.5; 8.6; 2009
Karma: 73
VIP bloggers

Re: Чат

Postby FireFly on 16 Feb 2010, 14:38

Ещё вопрос возник.
Почему ты во Flatten To String Function ставишь prepend array or string size? в значение False. Не очень понимаю за что отвечает этот вход (с английским нелады). Вообще когда надо ставить туда Default True, а когда False? Вот когда я делаю Flatten To String перед добавлением в очередь что лучше ставить?
Attachments
s1.PNG
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
User avatar
FireFly
leader
leader
 
Posts: 640
Joined: 25 Apr 2009, 06:58
Location: г. Новосибирск
Medals: 1
Activity (1)
LabVIEW Version: 8.5; 8.6; 2009
Karma: 73
VIP bloggers

Re: Чат

Postby eg on 16 Feb 2010, 14:52

FireFly wrote:Вдруг поток команд в очереди станет постоянным (пока смутно себе это представляю) и не оставит времени на TCP Read? Стоит ли этого опасаться?

Не могу точно ответить, наверное нужно пробовать.

FireFly wrote:Ещё вопрос возник.
Почему ты во Flatten To String Function ставишь prepend array or string size? в значение False. Не очень понимаю за что отвечает этот вход (с английским нелады). Вообще когда надо ставить туда Default True, а когда False? Вот когда я делаю Flatten To String перед добавлением в очередь что лучше ставить?

Это не так важно, главное чтобы и у Flatten и у Unflatten были установлены одинаковые параметры. Просто я привык, чтобы мне не добавляло автоматически какие то мне принципиально не нужные дополнительные данные.
User avatar
eg
guru
guru
 
Posts: 5647
Joined: 13 Nov 2007, 00:20
Location: Homburg/Germany
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2009
Karma: 231
CLAD MOD I/O VIP bloggers internet

Re: Чат

Postby FireFly on 17 Feb 2010, 08:57

Если я правильно понимаю - у тебя клиент никак не следит за тем есть ли связь с сервером или нет. Сейчас только сервер опрашивает командой "alive" клиентов и если ответный "alive" не получен - считает их отвалившимися.
Как думаешь - стоит ли сделать так чтобы клиент тоже следил за соединением с сервером? Если да, то как? Аналогично слать серверу "ping" и ждать "pong"? Или просто смотреть приходят ли от сервера "alive" и если не приходят дольше Х сек, то считать связь оборванной?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
User avatar
FireFly
leader
leader
 
Posts: 640
Joined: 25 Apr 2009, 06:58
Location: г. Новосибирск
Medals: 1
Activity (1)
LabVIEW Version: 8.5; 8.6; 2009
Karma: 73
VIP bloggers

PreviousNext

Return to Проекты

Who is online

Users browsing this forum: No registered users and 1 guest