Einzelnen Beitrag anzeigen

Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#4
  Alt 16. Mai 2003, 14:59
Ich verstehe ehrlich gesagt nicht, wo das Problem ist?
Du kannst doch im OnExecute-Event einfach die AddUser(newUser : String) Prozedur aufrufen, die als Public in deiner Mainformklasse deklariert ist. Auf jedenfall musst du da nichts mit Synchronize aufrufen! Das müsstest du nur, wenn du in einem "echten" Thread eine Prozedur des MainThreads aufrufen willst.
Wenn du Synchronize benutzen willst (Synchronize tut nichts anderes als das Programm anzuweisen, den Mainthread zu benutzen), benutzt man im Allgemeinen sog. Wrapper. Das ist eine Prozedur, die den Aufruf der Prozedur übernimmt (wrapper werden meistens nur im Zusammenhang von Ereignisbehandlungsroutinen verwendet). Ein Beispiel:
Delphi-Quellcode:
procedure TMyThread.mAddUser;
begin
   AddUser(aname);
end;

procedure TMyThread.Execute;
begin
   Synchronize(mAddUser);
end;
Aber IMHO ist Synchronize bei den Indys fehl am Platze!
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat