Seite 15 von 18

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 22.03.2014 18:51
von es_91
Hey! Welchen Typs ist der Rückgabewert von OpenWindow()? Integer oder Long? Wenn Integer, ist die Konvertierung von Integer auf Long in 64-Bit-Systemen möglich? (D.h. erreichen die Fensternummern überhaupt so hohe Werte, dass ein Quad gebraucht wird?)

Steht alles nicht in der Hilfe...

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 22.03.2014 19:25
von ts-soft
@es_91
Alle Rückgabewerte, wenn Typ nicht angegeben, sind Integer, so steht es auch in der Hilfe!

Bei der Rückgabe von OpenWindow() handelt es sich um das Handle, also kann es auch Werte enthalten,
die 64-Bit gross sind. Wenn statt einer statischen ID #PB_Any angegeben wird, ist die Rückgabe ein
Pointer und somit auch ein Integer.

Gruß
Thomas

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 23.03.2014 10:12
von es_91
Verstehe ich das richtig, dass wenn ich auf einem 64-Bit Windows die 32-Bit Version von PureBasic installiere (die Demo z.B.) dass ich dann explizit Quads für die Rückgabewerte verwenden muss?

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 23.03.2014 11:04
von HeX0R
es_91 hat geschrieben:Verstehe ich das richtig, dass wenn ich auf einem 64-Bit Windows die 32-Bit Version von PureBasic installiere (die Demo z.B.) dass ich dann explizit Quads für die Rückgabewerte verwenden muss?
Nein, nimm einfach Integer und alles ist gut.

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 29.06.2014 11:33
von Sicro
Es wäre in den Befehlsbeschreibungen zu PostEvent(), BindEvent() und EventData() erwähnenswert, dass diese unter Linux (und Mac?) auch ohne einem vorangestelltem OpenWindow() funktionieren. Beweis-Code: http://www.purebasic.fr/german/viewtopi ... =8&t=28152

#PB_Ignore funktioniert auch bei PostEvent(), wird aber weder in der Befehlsbeschreibung noch in der PB-Konstanten-Übersicht erwähnt.

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 10.12.2014 20:24
von Andesdaf
Bei den Befehlsbeschreibungen in der Runtime-Bibliothek fehlt in der deutschen
Übersetzung der Hinweis zum Umgang mit Runtime in Modulen:
http://www.purebasic.com/documentation/runtime/isruntime.html hat geschrieben: When accessing public module items, the module prefix name is mandatory, even if UseModule is used.
In der deutschen Übersetzung fehlt dieser Satz.

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 10.12.2014 20:57
von Nino
Andesdaf hat geschrieben:Bei den Befehlsbeschreibungen in der Runtime-Bibliothek fehlt in der deutschen
Übersetzung der Hinweis zum Umgang mit Runtime in Modulen:
http://www.purebasic.com/documentation/runtime/isruntime.html hat geschrieben: When accessing public module items, the module prefix name is mandatory, even if UseModule is used.
In der deutschen Übersetzung fehlt dieser Satz.
Ja.

Und wenn innerhalb eines Moduls auf ein privates Item zugegriffen wird, dann muss (unsinnigerweise) ebenfalls das Modul-Prefix mit angegeben werden (s. Beispiel in dieser Nachricht und Freaks Antwort darauf). Auch das ist nicht dokumentiert.

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 11.12.2014 02:07
von NicTheQuick
Das liegt wahrscheinlich daran, dass während der Laufzeit keine Module in dem Sinn mehr existieren. Deswegen speichert der Compiler immer nur die absoluten "Adressen" der Runtime-Variablen, also inklusive Modul-Präfix, in der Lookup-Table. Also für mich ist das gar nicht so unsinnig.

Re: Hinweise + Vorschläge f. bessere Befehls-Beschreibungen

Verfasst: 11.12.2014 07:34
von Nino
Es tut mir leid, ich scheine mich sehr schlecht verständlich auszudrücken.

Unsinnig finde ich, dass es erforderlich ist dass wir in dem Fall das Modul-Präfix per Hand hinschreiben müssen.
Weil es m. E. auch möglich ist, dass der Compiler diese Information während des Compilierens selbst in die EXE-Datei hineinschreibt, damit sie dort zur Laufzeit zur Verfügung steht (s.a. hier).

Verfasst: 11.12.2014 10:07
von CodeCommander
~ DELETE ~