Hi,
ich habe ein Problem mit dem Zugriff auf eine dynamisch erstellte Komponente aus alzaimar workerthread heraus.
Pappe ich eine Komponente direkt auf die Form klappt der Zugriff z.B. mit "form1.komponentenname" ohne Probleme
- meine dynamisch erstellten Komponenten reagieren aber überhaupt nicht - wo ist hier mein Denkfehler ?
Delphi-Quellcode:
...
// Auschnitt aus der Hauptform
var
RT: TDdeServerConv;
DDEsymbols: array[1..500] of string;
DDElast: array[1..500] of TDDEServerItem; // Last
implementation
...
// zur laufzeit die komponente erstellen
// DDEserver createn
RT := TDdeServerConv.Create(Self);
RT.Name := 'RT';
// Items createn
for i := 1 to 500 do begin
DDEsymbol:=DDEsymbols[i];
DDElast[i]:= TDDEServeritem.Create(self);
DDElast[i].name:=DDEsymbol+'1';
DDElast[i].ServerConv := RT;
end;
...
// Ausschnitt aus dem Workerthread
Procedure TAddDataJob.AddData;
...
Begin
...
Entercriticalsection(myCS);
//Dieser Zugriff auf eine Komponente auf der Form funktioniert
form1.xfeed.lDay:=TD;
// Hier ist das Problem - compiliert ohne fehler - aber geht nicht - das ganze in button und es funktioniert
DDElast[1].Text:='12345'; // Last <-- was mache ich hier falsch - über form1. läßt es sich nicht ansprechen
LeaveCriticalSection(myCS);
End;
Danke
Ralf