Moderiert von
Narses: Abgetrennt von [url=www.delphi-forum.de/...p?t=79823]hier[/url]
| Zitat: |
| Ganz nebenbei: Wenn du in diesem OnExecute auf Formularkomponenten zugreifst, musst du dich um die Synchronisierung (oder heißt es Synchronisation? *grübel*) kümmern. |
OK, ich hab hier gerade ein Problem. der Indy TCPServer ist auf dem Hauptformular. Je nachdem was beim Server ankommt, soll etwas in eine LogFile geschrieben werden (ein TListView, welches aber auf einem anderen Formular untergebracht ist!)
Wenn ich meinen Code ausfuehre, dann zeigt er mir nach einem Log-Eintrag mein zweites Formular an - allerdings ohne TListview und ohne eintrag. Wie synchronisiere ich das ganze, damit ich auf andere Formulare zugreifen kann?
BTW: wenn ich das zweite Formular im Design-Mode Visible = true setzte (also, wenn es beim Programmstart zu sehen ist), dann tritt der Fehler nicht auf!
Ich benutze INDY10
Danke
---
Moderiert von
Narses: Beiträge zusammengefasst---
Einfache Methods kann man anscheinend so ausfuehren:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| uses ..., IdSync;
begin ... TIdSync.SynchronizeMethod(ShowSecondFormular); ... end; |
Wenn ich aber Parameter uebergeben moechte (z.B. Eine Caption
Delphi-Quelltext
1:
| TIdSync.SynchronizeMethod(ShowSecondFormular(aCaption: String)); |
dann kommt folgende Compiler Fehler-Meldung
Quelltext
1:
| [DCC Error] Unit1.pas(557): E2010 Incompatible types: 'TThreadMethod' and 'procedure, untyped pointer or untyped parameter' |