Текущий архив: 2006.05.07;
Скачать: CL | DM;
ВнизIndy TCPServer Найти похожие ветки
← →
Frodo44 (2006-04-15 11:55) [0]Задача: при получении команды от клиента сервер должен открыть в ворде документ.
uses
...Word2000,IdComponent, IdTCPServer....
procedure TMainForm.IdTCPServer1Execute(AThread: TIdPeerThread);
var
Ss:String;
DocName:OleVariant;
begin
DocName:="C:\boot.doc";
try
with AThread.Connection do
begin
Ss:=ReadLn();
if Ss="Get" then
begin
WordApplication1.Documents.Open(DocName,EmptyParam, EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
end;
....
Проблема такая что при подключении клиента к серверу он создает поток.При получении команды от клиента сервер пытается внутри потока запустить еще один поток для открытия вордовского документа.
Как на время остановить или закрыть поток созданный сервером и передать управления для работы с вордом
← →
Eraser © (2006-04-16 01:24) [1]
> Frodo44 (15.04.06 11:55)
Самый логичный вариант - не создовать доп. поток для работы с вордом, а работать в AThread: TIdPeerThread.
Если уж так приспичило создать второй поток, то после его создания можно вызвать метод TThread.WaitFor.
ЗЫ в вашем коде не вижу где создаётся доп. поток внутри серверного потока.
Страницы: 1 вся ветка
Текущий архив: 2006.05.07;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.009 c