AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Threads und Zugriff auf VCL-Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Threads und Zugriff auf VCL-Komponenten

Ein Thema von DataCool · begonnen am 15. Mai 2003 · letzter Beitrag vom 16. Mai 2003
 
Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#6
  Alt 16. Mai 2003, 19:14
Wie ich schon schrieb: Mittels Wrapper ist es möglich mit Synchronize Paramater zu benutzen. Ein Wrapper ist eine Prozedur, ohne Parameter, die die wiederum die gewünschte Prozedur aufruft, mit den entsprechenden Parametern. Dazu kannst du z.B. die Parameter vor dem Aufruf von Synchronize in Variablen speichern und dann diese Variablen im Wrapper benutzen. So z.B.:
Delphi-Quellcode:
procedure TForm1.AddUser(name: string; id: integer);
begin
   ListBox1.Add(aname);
   ...
end;

//globale Variablen die als temporärer Speicher der Parameter verwendet werden
var
   aname: string;
   aid: integer;

procedure TForm1.AddUserWrapper; //wrapper von AddUser
begin
   AddUser(aname, aid); //aufruf der richtigen Prozedur
end;

procedure TForm1.TIdTCP....Execute; //Execute der Indy
begin
  with AThread.Connection do
  begin
     aname := 'labersack'; //Wertzuweisung der "Parameter"
     aid := 7483;
     Synchronize(AddUserWrapper); //threadsicherer Aufruf der AddUser-Prozedur mittels Wrapper
  end;
end;
Code ist "OnTheFly" geschrieben.
Ich hab das jetzt sehr ausführlich gestaltet, aber bitte nicht vera***** fühlen. Ich gehe eigentlich davon aus, dass du recht viel Ahnung hast; doch besser ein wenig ausführlicher als zu schlecht erklärt!

Somit müsstest du dein Problem eigentlich lösen können. Eigene Threadklassen sind IMHO unnötig.
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz