Seite 1 von 2
Parameter bei CallFunctionFast
Verfasst: 23.06.2010 18:16
von ralle
Hallo alle zusammen!
Irgendwie steh ich gerade auf dem Schlauch und seh den Wald vor lauter Bäumen nicht. Anbei der Code, als sehr abgespecktes Beispiel, der demonstriert, was ich meine:
Code: Alles auswählen
Structure testS
*method
Map testP.s()
EndStructure
*test.testS = AllocateMemory(SizeOf(testS))
InitializeStructure(*test, testS)
Procedure testMapParam(*subtest.testS, Map par.s())
Debug "nichts"
EndProcedure
*test\method = @testMapParam()
;geht
testMapParam(*test, *test\testP())
;geht beides nicht
;CallFunctionFast(@testMapParam(), *test, *test\testP())
;CallFunctionFast(*test\method, *test, *test\testP())
Die untere Variante führt zu einer Fehlermeldung, während die obere funktioniert? :S
Kann mir einer sagen, was da falsch läuft?
mfG
Ralle
Re: Parameter bei CallFunctionFast
Verfasst: 23.06.2010 18:32
von edel
CallFunctionFast erlaubt keine Strings, also setze ein @ vor die Mappe.
Re: Parameter bei CallFunctionFast
Verfasst: 23.06.2010 18:35
von ralle
Das @ würde nur das aktuelle Element der Mappe übergeben, was in diesem Beispiel ebenfalls zu einem Fehler führt. Dann werde ich halt die Map auf Zahlen umbauen, die Pointer auf Strings enthalten. Danke für den Tipp hierzu. Thema kann geschlossen werden
mfG
Ralle
Re: Parameter bei CallFunctionFast
Verfasst: 23.06.2010 18:41
von ts-soft
Ich weiß ja nicht, wie oft noch: CallFunction, CallFunctionFast usw. sind nur aus Kompatibilitätsgründen
zu PB 3.xx vorhanden. Sie unterstützen nur Integer oder Pointer und sollten in neuen Codes garnicht
mehr verwendet werden!
Prototypes sind die korrekte Vorgehensweise.
Re: Parameter bei CallFunctionFast
Verfasst: 23.06.2010 18:43
von edel
Ist das eigentlich gewollt, das die Map aus *test noch einmal extra uebergeben wird, also quasi 2 mal?
Re: Parameter bei CallFunctionFast
Verfasst: 23.06.2010 19:57
von ralle
War nur zu Testzwecken. Bin den Empfehlungen gefolgt und habe es mit Prototypen umgebaut. Vielen Dank für die Hilfe
mfG
Ralle
Re: Parameter bei CallFunctionFast
Verfasst: 24.06.2010 09:38
von Kiffi
<OT>
@ralle: Kleiner Tipp noch: bmp ist nicht so unbedingt das Format,
welches man für Screenshots verwendet, wenn man sie im INet
zeigen will. Nimm hierfür besser png, jpg oder gif.
</OT>
Grüße ... Kiffi
Re: Parameter bei CallFunctionFast
Verfasst: 24.06.2010 09:45
von ralle
Kiffi hat geschrieben:<OT>
@ralle: Kleiner Tipp noch: bmp ist nicht so unbedingt das Format,
welches man für Screenshots verwendet, wenn man sie im INet
zeigen will. Nimm hierfür besser png, jpg oder gif.
</OT>
Grüße ... Kiffi
Ach! Blödsinn! Alles feindliche Propaganda! BMP 4 ever!
Nein, Spaß beseite, du hast natürlich recht. Hatte das nur eben fix als Screenshot in das gute, alte Paint reingeworfen und einfach abgespeichert. Habe zugegebener nicht darauf geachtet im welchen Format und bei einem Bild dieser Größe fand ich das jetzt auch nicht weltbewegend
mfG
Ralle
PS: Der Thread darf hier immer noch zu gemacht werden

Re: Parameter bei CallFunctionFast
Verfasst: 24.06.2010 13:14
von Vera
Hallo ralle,
Jetzt sehe ich innerhalb weniger Tage zum 3. mal Deine Aufforderung, der Thread könne zugemacht werden.
Was soll zumachen heißen ? etwa sperren ? oder gar vermüllen ?
Wieso willst Du, dass andere Deinen Thread
(was es hier eh' nicht gibt) nicht weiter nutzen können oder dürfen, wenn es im Themenzusammenhang passt ?
(Sind nicht die gesamten ForenThreads genau dafür gedacht ?)
Leider kann ich Deinen nicht funktionierenden Beispielcode noch nicht verstehen, ebensowenig die folgenden Antworten dazu umsetzen. Schade auch, dass es kein funktionierendes Ergebnisbeispiel gibt, woran man anhand des Unterschieds einiges lernen könnte.
Die Wahscheinlichkeit ist doch groß, dass ich oder andere genau hierzu in Zukunft nochmal nachfragen wollen.
Bitte versteh dies nicht als Angriff, sondern als Einladung, es auch von einem anderen Standpunkt aus zu sehen.
@Alle
[halbOT]
Wäre die Problematik der alten Funtionen (Kompatibilitätsgründe) und der Hinweis auf die korrekte Vorgehensweise (Prototypes) kein Fall für die
PureBasic-FAQ ?
Könnte/würde jemand eine geeignete Frage-Antwort-Sequenz dazu erstellen und
hier posten ?
Ggf. eine Liste
'Obsoleter Funktionen', wie aktuell
hier diskutiert ?
[/halbOT]
Gruß ~ Vera
Re: Parameter bei CallFunctionFast
Verfasst: 24.06.2010 13:23
von Nino
Vera hat geschrieben:[halbOT]
Wäre die Problematik der alten Funtionen (Kompatibilitätsgründe) und der Hinweis auf die korrekte Vorgehensweise (Prototypes) kein Fall für die
PureBasic-FAQ ?
Könnte/würde jemand eine geeignete Frage-Antwort-Sequenz dazu erstellen und posten ?
[/halbOT]
Das ist meiner Ansicht nach vor allem ein Fall für die offizielle PB-Dokumentation und für die Compiler-Warnungen, siehe auch
http://www.purebasic.fr/german/viewtopi ... 04#p275704
Grüße, Nino