Чат

Делись идеей, получай поддержку и критику!
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Чат

Сообщение Eugen Graf »

Скачай бесплатный ADO тулкит, линк есть в теме о базах данных. Там есть 5 примеров использования, в остальном думаю мы совместными усилиями сможем тебе помочь.
Аватара пользователя
delion
user
user
Сообщения: 72
Зарегистрирован: 10 фев 2009, 05:55
Версия LabVIEW: 8.6, 2009
Откуда: Саратов
Контактная информация:

Re: Чат

Сообщение delion »

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

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Чат

Сообщение Eugen Graf »

А каким образом ты это делаешь? Может быть, если это строка её нужно взять в кавычки?
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чат

Сообщение FireFly »

delion писал(а):EG у меня такие же задачи как и у FireFly вот пытался с помощью ADO тулкита записывать гиперссылку в базу данных на файл, но не чего не вышло ! Прописывается только заголовок, строка пути остаётся незаполненной. Ты с таким не сталкивался?
У меня путь, в string виде нормально записывается. Что ещё надо?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
delion
user
user
Сообщения: 72
Зарегистрирован: 10 фев 2009, 05:55
Версия LabVIEW: 8.6, 2009
Откуда: Саратов
Контактная информация:

Re: Чат

Сообщение delion »

Eg! делаю вот таким образом:
Вложения
C помощью 4 примера записываю в базу данных в столбик гиперссылок
C помощью 4 примера записываю в базу данных в столбик гиперссылок
безымянный 3.jpg
В  итоге получается записать в базу данных ссылку она даже выглядит как гиперссылка, но строка адреса остается не заполненной - и гиперссылка не работает!
В итоге получается записать в базу данных ссылку она даже выглядит как гиперссылка, но строка адреса остается не заполненной - и гиперссылка не работает!
Лучше сделать и жалеть, чем не сделать и всё равно жалеть!
Аватара пользователя
delion
user
user
Сообщения: 72
Зарегистрирован: 10 фев 2009, 05:55
Версия LabVIEW: 8.6, 2009
Откуда: Саратов
Контактная информация:

Re: Чат

Сообщение delion »

FireFly, eg, Ребят ну что не чего не подскажите больше, про запись ссылки в базу ?
Лучше сделать и жалеть, чем не сделать и всё равно жалеть!
Аватара пользователя
delion
user
user
Сообщения: 72
Зарегистрирован: 10 фев 2009, 05:55
Версия LabVIEW: 8.6, 2009
Откуда: Саратов
Контактная информация:

Re: Чат

Сообщение delion »

FireFly, Посмотри фотки что я выложил....у меня через стринг тоже прописывается путь но гиперссылка не работает (см. предыдущий пост)
Лучше сделать и жалеть, чем не сделать и всё равно жалеть!
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: Чат

Сообщение Viktor »

Посмотри настройки Microsoft Office Access!
Может быть он блокирует гиперссылки в целях безопасности :dntknw:
link.PNG
Аватара пользователя
delion
user
user
Сообщения: 72
Зарегистрирован: 10 фев 2009, 05:55
Версия LabVIEW: 8.6, 2009
Откуда: Саратов
Контактная информация:

Re: Чат

Сообщение delion »

Не эту табличку он всегда выводит....даже когда просто ссылку создаешь в самом access даже не через labVIEW ...
Лучше сделать и жалеть, чем не сделать и всё равно жалеть!
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чат

Сообщение FireFly »

Сейчас пишу клиент. Вот задумался над количеством циклов:
Сначала собирался сделать для всей работы с TCP один цикл. Т.е. сначала он просматривает (с таймаутом 0) очередь на наличие чего-нибудь, если обнаруживает в очереди команду (от интерфейса, или от самого себя, возможно появится ещё источник) - выполняет соответствующий Case (в котором скорее всего TCP Write, хотя возможны варианты (выход например)). Если очередь пустая выполнять цикл с TCP Read с таймаутом 300 мс. Если удалось что-нибудь прочитать - посылать в очередь главного (интерфейсного) цикла.
Но вот думаю правильно ли это? Вдруг поток команд в очереди станет постоянным (пока смутно себе это представляю) и не оставит времени на TCP Read? Стоит ли этого опасаться? Может стоит разделить на два цикла - один осуществляет постоянный TCP Read для получения команд с сервера, другой периодический TCP Write в случае появления объектов в его очереди? Не будут ли они конфликтовать друг с другом? Или предусмотреть добавление команды на TCP Read в очередь, а не как щас - по факту пустой очереди?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Чат

Сообщение Eugen Graf »

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

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чат

Сообщение FireFly »

eg писал(а):Думаю можно обойтись одним, но сделать приоритет записи данных выше, чем чтения. То есть если есть что записать, то выполнять сразу же после таймаута чтения, если записывать нечего то продолжать чтение.
Получается, что данные будут записываться максимум после одного таймаута. Если таймаут выставить например на 100 мс, то максимальная задержка при записи будет 100 мс. Если такая максимальная задержка устраивает, то можно делать так, иначе можно и два параллельных цикла сделать.
FireFly писал(а):Вдруг поток команд в очереди станет постоянным (пока смутно себе это представляю) и не оставит времени на TCP Read? Стоит ли этого опасаться?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чат

Сообщение FireFly »

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

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Чат

Сообщение Eugen Graf »

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

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чат

Сообщение FireFly »

Если я правильно понимаю - у тебя клиент никак не следит за тем есть ли связь с сервером или нет. Сейчас только сервер опрашивает командой "alive" клиентов и если ответный "alive" не получен - считает их отвалившимися.
Как думаешь - стоит ли сделать так чтобы клиент тоже следил за соединением с сервером? Если да, то как? Аналогично слать серверу "ping" и ждать "pong"? Или просто смотреть приходят ли от сервера "alive" и если не приходят дольше Х сек, то считать связь оборванной?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Ответить

Вернуться в «Проекты»