Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.46 MB
Время: 0.042 c
11-1125465671
Windows
2005-08-31 09:21
2006.05.07
Системные горячие влавиши в КОЛ и МСК


2-1145427557
lamot
2006-04-19 10:19
2006.05.07
DBEdit


15-1143801171
Layner
2006-03-31 14:32
2006.05.07
Библиотека AllLib, кто автор и если оф. сайт?


4-1139825037
Dimedrol
2006-02-13 13:03
2006.05.07
Delphi и Infra-red... как ?


2-1145531259
fast2
2006-04-20 15:07
2006.05.07
Можна ли сделать текст в диалоге (например MessageDLG) цветным?