![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TSocketConnection - познее связывание - - в другом потоке. [D7, WinXP]
tytus © (2007-07-03 10:22:00)Доброго дня мастера. Вот собственно и тема - хочу выполнять методы сервера в отдельном потоке+показать форму выполнения.
В главном приложении есть TSocketConnection (Connect1) и TClientDataSet (CDS1).
В конструкторе потока передаю и Connect1 и CDS1.
...
Constructor WaitThread.Create(AConnect:TSocketConnection;ADataSet:TClientDataSet);
begin
FConnect:=AConnect;
FDataSet:=ADataSet;
inherited create(false);
end;
procedure Execute;
begin
FConnect.AppServer.МойМетод;
end;
вот на такой код делфи ругаеццо:EVariantInvalidArgError,
а если запускать екзешник - то Error reading from Socket.
Как правильно сие сделать...
Сергей М. (2007-07-03 11:42:00) [41]
> нереально передать в поток уже подключенный SocketConnection?
Реально. Криминала никакого в этом нет.
> как мне указывать имя сервера?
String-параметром ServerName конструктора потока
tytus (2007-07-03 11:23:00) [42]>Romkin © (03.07.07 11:08) [2]
Для каждого потока - свое соединение и свои датасеты.
В главном приложении Connect1 ужо подключается к серверу.
Так что - нереально передать в поток уже подключенный SocketConnection?
Если нельзя - то как мне указывать имя сервера?
Romkin (2007-07-03 11:08:00) [43]Это хорошо еще катастрофический сбой не словил :)
Для каждого потока - свое соединение и свои датасеты.
Сергей М. (2007-07-03 10:55:00) [44]
> ругаеццо:EVariantInvalidArgError
Значит параметры вызванного тобой метода инвалидны