Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Вниз

Отлов ("перехват") событий VCL приложением из KOL DLL   Найти похожие ветки 

 
Fregl ©   (2007-02-27 11:08) [0]

Уважаемые гуру делфи программирования :)
Столкнулся вот с такой проблемкой:
Есть приложение на VCL (в силу громоздкости используемых контролов
перевести проэкт в KOL не представляется возможным на данный момент) суть которого - прем данных из компорта или сети, обработка онных с ипользованием данных из mySQL БД.
Так как приложение получается довольно громоздким, я хочу часть функций и контролов повыносить во внешние библиотеки: компоненты для работы с БД, для работы с COM портом.

И вот первый вопрос - хочу вынести компоненту для работы с COM портом, и не просто вынести а заменить ее на контрол KOL MHComPort.
Возникли следующие вопросы:
-при создании объекта NewMHComPort(Parent:PControl) что нужно указывать в качестве родителя(владельца)? Я так понимаю обычно туда пишется Applet, так как от него будут передаваться message работы с КомПортом (если не ошибаюсь). Что же мне туда переать из VCL приложения?
-как мне отлавливать события такие как прием данных, ошибки и прочее?
пробовал передавать адрес процедуры оболчки, но в ДЛЛ вылетает ошибка
вот пример кода в ДЛЛ


procedure  SetNewHandler(Proc:Pointer);stdcall;
begin
 Comm1.OnRxChar:=Proc;
end;


в самом VCL приложении есть процедура-оболчка, в которую будут передаваться данные с ком-порта и обрабатываться

procedure  IORead(Data:Pointer; Count:Word);stdcall;
begin
// тут идет обработка данных с порта
end;

вызываю процедуру установки обработчика события
SetNewHandler(@IORead) и здесь происходит исключение по адресу в самой DLL.

Какие есть предложения, советы по этому поводу?


 
Vladimir Kladov   (2007-02-27 14:36) [1]

DLL можно отлаживать. По крайней мере в Delphi6 с этим проблем нет. Указывается основное (Host) приложение, запускается, ставятся точки останова в нужном месте, и вперед - смотреть, где у вас ошибка.



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.07 c
15-1188814093
Gydvin
2007-09-03 14:08
2007.09.30
Траблы с makecab.exe


1-1184521447
Tack
2007-07-15 21:44
2007.09.30
Как получить высоту строки TRichEdit?


15-1188409507
barakuda
2007-08-29 21:45
2007.09.30
Продажа программы


15-1188894095
shellbox__
2007-09-04 12:21
2007.09.30
Переустановить windows.


2-1188889872
ambhtr
2007-09-04 11:11
2007.09.30
Delphi + Paradox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский