warum gibt das einen Fehler?!
Ich möchte einem Thread als Wert (Nur 1 Variable erlaubt) 2 Werte übermitteln, warum geht das nicht...
Pointer kann ich nicht verwenden.
EnableExplicit
Structure zwei
x.i
y.i
EndStructure
Procedure fuellzwei(*daten.zwei)
EndProcedure
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Ich habe angenommen, dass hierbei nicht der Wert, sondern die Speicheradresse übergeben wird. Ist nicht der Fall, somit gibt's keine Probleme. Ich probiers mal aus.
Es wird die Speicheradresse übergeben, also ByRef. Ändern der Werte, ändert auch das Original.
Wenn Du das nicht möchtest, solltest Du die Werte neuen Variablen zuordnen oder den Speicher
Kopieren.
Das ist bei z.B. Arrays usw. genau das gleiche.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Da die Threads ja asynchron laufen, haben viele falsche Zahlen bekommen. Da ändert auch dein FreeMemory() nichts, was den Unterschied zu meinem Programm bringt
Wenn du in deiner For-Schleife für jeden Thread einen neuen Speicherbereich erstellst (den der Thread dann natürlich löschen sollte wenn er fertig ist) sollte es eigentlich keine Probleme geben.