|
|
|
Взаимодействие с сурьезной C++ программой через VB.
|
|||
|---|---|---|---|
|
#18+
Есть "сурьезная" консольная программа на C++, т.е. скажем так программа сама не очень сложная,по сути main() но взаимодействует со сложной dll, контролирует некий процесс, на VB не реализуема. Для комфортного отображения информации и управления этой штукой используется VB. Т.е. в каждый момент, например C-прога знает в Real-time значения параметров A,B,C. Я хочу отображать их скажем на форме VB. VB Что делаю. По таймеру в VB 1)Создаю файл ВОПРОС.txt 2)Жду файла ОТВЕТ.txt 3)Читаю ОТВЕТ.txt, убиваю его, ... 1)готов снова задавать ВОПРОС.txt C++ По бесконечному циклу в C++ c применением Sleep(500) 1)смотрю нет ли файла ВОПРОС.txt 2)Читаю ВОПРОС.txt, убиваю его, кладу ответ в ОТВЕТ.txt ... 1)смотрю нет ли файла ВОПРОС.txt Понимаю что это полный идиотизм, по другому не придумал. Интерфейсы на C++ писать не умею, сложнотехнические вещи на VB не реализовать. Оставил бы так, но понял что система становится ненадежной, при увеличении нагрузки и к-ва ВОПРОС-ОТВЕТ. Думал запускать C++ как execcmd и читать консоль через pipe, но понял что это ерунда, vb виснет от избытка излишней информации... Либо самому написать "простенькие API", но как это сделать, опыта нет, да у меня на C++ exe, а не dll, хотя я встречал exe, кот. предоставляли API для VB. Идеи будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2009, 16:30 |
|
||
|
Взаимодействие с сурьезной C++ программой через VB.
|
|||
|---|---|---|---|
|
#18+
>>Понимаю что это полный идиотизм, по другому не придумал. Интерфейсы на C++ писать не умею, а если VC+6 например использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2009, 18:35 |
|
||
|
Взаимодействие с сурьезной C++ программой через VB.
|
|||
|---|---|---|---|
|
#18+
VC+6 -я же сказал что не умею.Тот интерфейс что я на VB6 за пол-дня могу накатать, я на (V)C(+-6+-2005) буду год писать с кучей глупых вопросов как каждая строчка работает и как это сделать. Тут поступило соображение использовать ключи реестра вместо файлов. На что я уже начал подумывать: а почему бы и нет? Думаю в какую ветку? чтоб точно не было проблем HKEY_CURRENT_USER\Software\Organization\ProgaName подойдет? Но вот насколько это лучше варианта с файлами? По сути интервал "долбания" составляет раз в 0,5сек, с чтением и перезаписью нескольких параметров. Плюс железная логика на пальцах, иначе может получиться что прога вдруг случайно застрянет на ожидании "чего-нибудь" чего из-за какого-то упущения в логике "никогда уже не появится", хотя в случае с реестром думаю вероятность сбоя меньше чем с файлами, и если все продумать, м.б. и неплохо будет. Но перед тем как углублятся в реестр (на vb проблем не вижу, на c++ придется покопаться в ф-циях чуток), хотелось бы уяснить, насколько сие хорошо в принципе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2009, 20:59 |
|
||
|
Взаимодействие с сурьезной C++ программой через VB.
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Тут поступило соображение использовать ключи реестра вместо файлов. На что я уже начал подумывать: а почему бы и нет? Не нужно использовать реестр для всякого мусора. Правильный ответ все же - научиться писать на C++ dll-ки которые понимает VB. Менее правильный, видимо, хотя бы запускать твой Си-шный Exe-шник через CreateProcess... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 07:09 |
|
||
|
Взаимодействие с сурьезной C++ программой через VB.
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, наш прекрасно работающий лет 77 вариант: железнодорожные весы при наезде вагона выдают с большой частотой его вес на com-port сервер - в нашем случае нереляционная СУБД CACHE - принимает через com-port и складирует вес по времени по секундам в некую структуру это делается непрерывно фоновым процессом , фиксируются только изменения (малые веса - до 100 кг - не регистрируются) EXCEL ежесекундно дает запрос на сервер CACHE и красиво большими цифрами отображает вес вагона на экране Оператор добавляет характеристики груза и все это фиксируется на сервере уже как документ =========== ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 09:16 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=166&tid=2161297]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 360ms |

| 0 / 0 |
