Вопрос по Delphi

sniper

New Member
Ответ: Помощь по Delphi

Ёмаё! Так тут делфийкие монстры обитают!
Вопрос такой: Клиет-серверная структура на базе TIdTCPClient и TIdTCServer, клиент посылает серверу строку, сервер возвращает строку в ответ, но в некоторых случаях сервер, перед тем как вернуть клиенту ответ должен выполнить определённые операции, которые занимают много времени. Как клиенту правильно разорвать соединение, не дождавшись окончания операций на сервере. И что в этом случае будет с потоком на сервере? Удастся ли правильно отработать поток до конца?
 

Merlіn

dead wizard
Ответ: Помощь по Delphi

Лучше было б если поподробней что за программа (зачем запускать действие в потоке?).
Посмотри вложения может это решение(исходники Delphi 6).
Возможно это поможет (Delphi Help)
property TerminateWaitTime: Integer;
Description
TerminateWaitTime is an Integer property that identifies the total number of milliseconds that the server should wait, in TerminateAllThreads, for all threads to complete termination. TerminateWaitTime is an aggregate delay time, and allows TerminateAllThreads to monitor the Threads list every 250ms until TerminateWaitTime has elapsed.
The default value for TerminateWaitTime is 5000 (5 seconds). Use a larger value for TerminateWaitTime when the server handles a large number of peer connection threads, or when OnDisconnected event handling for the peer connection involves time intensive operations.
PS с Indy работать не приходилось.
 

Вкладення

sniper

New Member
Ответ: Помощь по Delphi

Merlіn сказав(ла):
Лучше было б если поподробней что за программа (зачем запускать действие в потоке?).
Посмотри вложения может это решение(исходники Delphi 6).
Возможно это поможет (Delphi Help)
property TerminateWaitTime: Integer;
Description
TerminateWaitTime is an Integer property that identifies the total number of milliseconds that the server should wait, in TerminateAllThreads, for all threads to complete termination. TerminateWaitTime is an aggregate delay time, and allows TerminateAllThreads to monitor the Threads list every 250ms until TerminateWaitTime has elapsed.
The default value for TerminateWaitTime is 5000 (5 seconds). Use a larger value for TerminateWaitTime when the server handles a large number of peer connection threads, or when OnDisconnected event handling for the peer connection involves time intensive operations.
PS с Indy работать не приходилось.
Спасибо, конешно, но проблему я уже решил, так шо не напрягайтесь.. TerminateWaitTime немного не то, точнее не с той стороны.
 

Hamster

Well-Known Member
Ответ: Помощь по Delphi

1.Есть поле edit1. и кнопка button2 например.
Как сделать, чтобы при нажатии кнопки буттон2 содержимое поля едит1 поместилось в буфер обмена?

2. С updown не имел дела ни разу. См скрин. Ка сделать, чтобы вперед-назад были по бокам поля edit? НЕ получаеться и все.=(
 

Вкладення

Останнє редагування:

Hamster

Well-Known Member
Ответ: Помощь по Delphi

Merlіn сказав(ла):
Спасибо, конечно, но в том то и проблема, я ету комманду знаю, но она не работает. Мне подсказали, что она только работает для memo.
 

Merlіn

dead wizard
Ответ: Помощь по Delphi

procedure CopyStringToClipboard(s: string);
var
hg: THandle;
P: PChar;
begin
hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE, Length(S)+1);
P:=GlobalLock(hg);
StrPCopy(P, s);
GlobalUnlock(hg);
OpenClipboard(Application.Handle);
SetClipboardData(CF_TEXT, hg);
CloseClipboard;
GlobalFree(hg);
end;
PS а насчет второго хз, помоему быстре самому такое сделать TEdit + 2 TButton
 

Hamster

Well-Known Member
Ответ: Помощь по Delphi

Сразу извиняюсь за полное ломовство, в дельфи еще ничёго толком незнаю.
Я хоть правильно "втыкнул" прцедуру?

зы. Первый раз все прекрасно сработало, текст занесся в буфер.
Дальше-никак. Остаеться прежний текст, новый не заноситься.
 

Вкладення

Merlіn

dead wizard
Ответ: Помощь по Delphi

.....
public
procedure CopyStringToClipboard(s: string);
.....
procedure TForm1.CopyStringToClipboard(s: string);
var
.....
PS: вложение, там пример
 

Вкладення

Hamster

Well-Known Member
Ответ: Помощь по Delphi

ммммммммммммм
Вот у тебя та же проблема.
Первый раз все прекрасно копируеться. НО если вставлять в поле мемо, все проходит нормально. А вот если например вставлять в блокнот, не катит. :bur2:
 
Зверху