Synchronize() --> SOS?
-
Tja, schwer zu sagen, am gezeigten Code liegt es nicht...
-
Die Lösung war PillePalle!
&Funktionsname......
Ganz einfach nur die Referenz übergeben... In KEINER Hilfe steht das! In KEINEM Beispiel...
Synchronize(&Send)
Das wars schon!
Was ich noch gern hätte wäre der Operator ()..... Zum Parameter reinwerfen...
-
Hallo
Kann das mit dem & jemand bestätigen? Habe grad keinen Builder hier.
Falls das Tut wirklich fehlerhaft ist werd ich es korrigieren.Was meinst du mit Operator() ? Der nützt dir hier nichts. Du kannst Werte von Execute nach Send über Klassenmember austauschen.
bis bald
akari
-
.... bin ganz gespannt am Warten ...
-
akari schrieb:
Kann das mit dem & jemand bestätigen?
Jawoll !

TThread::Synchronize Executes Method within the main VCL thread. typedef void __fastcall (__closure *TThreadMethod)(void); void __fastcall Synchronize(TThreadMethod &Method);
-
oh man - und ich such mir den ganzen Nachmittag die Augen blutig und denke mir das bißchen Hirn wund, was ich noch habe...Danke Shogun für's rausfinden und Danke merker für's ausprobieren und Danke akari, dass Du immer überall mindestens Denkanstösse gibst!

MfG
-
@akari: Das war jetzt kein Gemecker über das Tut an sich. Die BCB Hilfen geben das leider so schon wieder... Sowohl die BCB 6, als auch die vrpfuschte BCB 2006....
Klar über Klassenmember habe ich es auch gelöst. Aber ich versuche mich nach wie vor dran zu halten Global ist kacke. Ne PArameterübergabe wär mir lieber gewesen. Aber egal. Funkt.
Eben über die Definitionen die Merker da ausgebuddelt hat habe ich das gefunden. Aber auch erst nach dem 20. Lesen...
Ich stelle hiermit den Antrag Synchronize als am Schlechtesten dokumentierte Funktion im BCB zu nominieren!
PS: Ich hab diverse Wochen immer wieder mal gesucht... Ist echt nix zu finden LOL... Jedes Beispiel ist ohne &
-
Also mal ehrlich - wie verschlafen sind wir denn eigentlich alle? Ist nicht der Kommentar am Anfang der *.cpp des neuen Thread's des Rätsels Lösung, oder irre ich mich?
//--------------------------------------------------------------------------- // Wichtig: Objekt-Methoden und -Eigenschaften in der VCL dürfen nur // in einer Methode nur mir Synchronize aufgerufen werden, z.B.: // // Synchronize(&UpdateCaption); // // wobei UpdateCaption folgendermaßen aussehen könnte: // // void __fastcall TRxDThread::UpdateCaption() // { // Form1->Caption = "Aktualisiert in einem Thread"; // } //---------------------------------------------------------------------------// Synchronize(**&**UpdateCaption);

Ich fass'es nicht!

MfG
-
Hallo
Shogun schrieb:
@akari: Das war jetzt kein Gemecker über das Tut an sich. Die BCB Hilfen geben das leider so schon wieder... Sowohl die BCB 6, als auch die vrpfuschte BCB 2006....
Das habe ich auch nicht als Gemecker aufgefast. Wenn unserer Tutorial fehlerhaft ist muß es korrigiert werden.
Klar über Klassenmember habe ich es auch gelöst. Aber ich versuche mich nach wie vor dran zu halten Global ist kacke. Ne PArameterübergabe wär mir lieber gewesen. Aber egal. Funkt.
Ja Global ist meistens die schlechte Lösung. Aber Klassenmember sind nunmal nicht global. Und einer void-Funktion kannst du wirklich keine Parameter übergeben.
bis bald
akari
-
Bei mir funktionieren beide Versionen. Ich hab den BCB 6. Die Synchronize-Beispiele funktionieren bei mir also auch, wie in der Hilfe beschrieben.
Ist es vielleicht ein neues 'Feature' des BDS 2006?
-
Hallo
In meinem BCB 5 hier kompiliert auch beides.
Können mal bitte die User mit den neueren Builder-Version bei sich das testen und hier Resultat und Builder-Version angeben?Builder-Version Läuft mit & Läuft ohne & 5 1 1 6 1 1 ... Studio 2006 1 0Dann werde ich ins Tutorial einen entsprechenden Hinweis einbauen.
bis bald
akari
-
Bei mir läufts nur mit &.
Edit: Borland
Developer Studio für Microsoft
Windows
Version 10.0.2166.28377 Update 1
-
Borland
C++Builder
für Microsoft
Windows
Version 10.0.2288.42451 Update 2Synchronize(&Function) 1
Synchronize(Function) 0
-
Hallo
Zwischen BCB 6 und dem Studio 2006 gibt es doch noch andere Versionen. Gibt es hier keinen der diese hat und das bitte mal testen kann?
bis bald
akari
-
und welche bitte?
Es gibt für den BCB6 und dem BDS2006 noch verschiedene Builds sowie Patchstufen aber keine weiteren Versionen.
-
Hallo
Echt? Dachte da gabs noch eine Studio-Version vor dem 2006er. Gut dann kann ich die Umfrage beenden und im Tutorial eintragen das bei Studio das & hinmuß. Bzw. das es am besten immer verwendet werden sollte.
bis bald
akari
-
Dazwischen gab es nur noch den BuilderX. Der hat mit der Serie eigentlich aber nichts zu tun (weißt du ja sicher).