Seite 1 von 1
Fehler mit Threadsafe-Modus
Verfasst: 06.02.2006 02:22
von Batze
Code: Alles auswählen
Procedure F1()
i = 10 ; Mal irgendein Wert, egal
Debug "Wert in SelectClientList() = " + Str(i)
ProcedureReturn i ; Hier gibt die Funktion etwas zurück ...
EndProcedure
Debug F1() ; ... was aber falsch ankommt
Scheinbar funtionieren in Threadsafemodus keinerlei Rückgabewerte.

Verfasst: 06.02.2006 12:34
von Batze
Funktioniert das bei euch, hab ich da selber nen Fehler rein gebaut?
Werd dann wohl ermal Pointer zur Rückgabe verwenden.
Verfasst: 06.02.2006 13:10
von mardanny71
Ich hab mal mehrere Varianten ausprobiert.
Auch wenn man einen Funktionsparameter übergibt und sonst alles "ganz Vorbildlich" macht kommt die merkwürdige Debug - Ausgabe.
Keine Ahnung - wie das mit dem Thraedsafe-Modus zusammenhängt.
Grüsse an alle
mardanny71
Verfasst: 06.02.2006 13:10
von real
Stimmt - bei mir kommt bei Aktivierung "Threadsafe" 3546768 als Rückgabewert an, ohne "Threadsafe" wird 10 ausgegeben - wie es sein sollte.
Was mich generell wundert ist, dass "Threadsafe" bei einem Compiler nicht standardmäßg aktiviert ist - jetzt weiß ich, warum!

Verfasst: 06.02.2006 13:19
von freedimension
real hat geschrieben:Was mich generell wundert ist, dass "Threadsafe" bei einem Compiler nicht standardmäßg aktiviert ist - jetzt weiß ich, warum!

Glaub ich dir nicht

Grund ist übrigens, dass durch die Option "Threadsafe" das Programm insgesamt etwas aufgebläht und langsamer wird. Das macht zwar nicht allzu viel aus, aber wenn man sowieso ohne Threads arbeitet wäre es doch schade diesen Balast mit rumzuschleppen, oder?
EDIT: Da das ja schon ein größerer Bug ist habe ich es mal im englischen Board gemeldet.
Verfasst: 06.02.2006 13:39
von Batze
Bis es behoben ist muss ich halt auf die praktischen Rückgabewerte verzichten und Pointer übergeben.
Verfasst: 06.02.2006 14:15
von freedimension
Ist schon behoben, musst also nur noch bis zur nächsten Beta durch halten.
Verfasst: 06.02.2006 19:01
von Batze
Gut

Verfasst: 06.02.2006 19:09
von real
Jetzt wurde bei Prozeduren das ProcedureReturn entfernt... Fehler behoben!
Aber Respekt vor der Arbeit des PB-Teams. Besonders gut gelungen ist die Unterstützung der Community.