Hinweise + Vorschläge f. bessere Befehls-Beschreibungen etc.

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
es_91
Beiträge: 383
Registriert: 25.01.2011 04:48

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

Beitrag 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...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

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

Beitrag 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
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.
Bild
es_91
Beiträge: 383
Registriert: 25.01.2011 04:48

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

Beitrag 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?
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

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

Beitrag 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.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

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

Beitrag 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.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Andesdaf
Moderator
Beiträge: 2658
Registriert: 15.06.2008 18:22
Wohnort: Dresden

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

Beitrag 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.
Win11 x64 | PB 6.00 (x64)
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

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

Beitrag 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.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

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

Beitrag 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.
Bild
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

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

Beitrag 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).
Benutzeravatar
CodeCommander
Beiträge: 213
Registriert: 02.03.2014 16:06

Beitrag von CodeCommander »

~ DELETE ~
Zuletzt geändert von CodeCommander am 18.01.2015 14:55, insgesamt 1-mal geändert.
~ DELETE ~
Antworten