Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с установкой RAS соединения [D7, WinXP]


vlavich ©   (2007-03-09 15:56:00) 

Есть Приложение, которому нужно получить доступ к провайдеру. Для доступа использую компоненту rasManager. Соединение устанавливается, но не вызываются обработчики событий компоненты, неизвестно установлено соединение или нет.

 myRasManager:=TRasManager.Create(nil);
 myRasManager.OnConnecting:=RasManagerConnecting;
 myRasManager.OnConnect:=RasManagerConnect;
 myRasManager.OnDisConnect:=RasManagerDisConnect;


vlavich   (2007-03-10 13:04:00) [1]

А проблема на самом деле была в следующем - компонент создается из потока в котором нет цикла processmessages, как у основного окна.
Потому если положить компонент на форму, то все ок.
Для dll пришлось в цикле ожидания установки соединения вызывать обработку сообщений, теперь все ок.


vlavich   (2007-03-09 17:38:00) [2]


> И это все что тебе известно о внутреннем устройстве этого
> компонента ?!

ппц.
Сергей М. прав - к компонету есть исходники...
туплю на праздники...


vlavich   (2007-03-09 17:00:00) [3]

Непонятно следующее - в тестовом приложении, если на форму положить компоненту, то все работает ок.
Дозвон выполняется из dll в отдельном thread.
создаю объект через
myRasManager:=TRasManager.Create(nil);
myRasManager.OnConnecting:=RasManagerConnecting;
Вообще в create нужно укзать TComponent, но что указать если родительского компонента просто нет? Ставлю nil...

procedure TSyncThread.RasManagerConnecting(Sender: TObject; Index, Msg, State, Error: Integer);
begin
...
end;

Может событие не вызывается из-за того родительский компонент = nil ?


Сергей М.   (2007-03-09 16:55:00) [4]

И это все что тебе известно о внутреннем устройстве этого компонента ?!


vlavich   (2007-03-09 16:53:00) [5]

RASAPI interface unit (Delphi conversion by Davide Moretti dave@rimini.com,
ver 2.11) rewritten to link RASAPI32.DLL dynamically via
LoadLibrary/GetProcAddress, preventing application to be terminated
on exception if RAS is not installed.

Original file has been taken from TRASControl version 1.2
(Copyright (c) 1999 by David A. Bussey).

Interface section is not modified. All RASAPI external function declarations
from Implementation section has been deleted. RASAPI functions are linked
dynamically in Initialization section.


Сергей М.   (2007-03-09 16:32:00) [6]


> использую компоненту rasManager


Эт что за чудо ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо