Bug in Structure RAWINPUTDEVICELIST
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Bug in Structure RAWINPUTDEVICELIST
Da ich mich im englischem Forum mit meinem deutschem Usernamen/Passwort nicht anmelden kann, warum auch immer
möge doch einer der Mods diesen Fehler melden, der mindestens seit 5.60 existiert
Structure RAWINPUTDEVICELIST
hDevice.i
dwType.l
EndStructure
für x64 muß es dwType.i heißen
mit dwType.l funktioniert GetRawInputDeviceList() unter x64 nicht.
möge doch einer der Mods diesen Fehler melden, der mindestens seit 5.60 existiert
Structure RAWINPUTDEVICELIST
hDevice.i
dwType.l
EndStructure
für x64 muß es dwType.i heißen
mit dwType.l funktioniert GetRawInputDeviceList() unter x64 nicht.
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Re: Bug in Structure RAWINPUTDEVICELIST
Ich habe nachgeschaut und es existiert kein User mit dem Namen "hjbremer". Hast du dich da überhaupt jemals registriert? Das deutsche und englische Forum sind zwei getrennte Foren.hjbremer hat geschrieben:Da ich mich im englischem Forum mit meinem deutschem Usernamen/Passwort nicht anmelden kann, warum auch immer
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: Bug in Structure RAWINPUTDEVICELIST
nein, früher glaube ich hieß es man braucht es nicht
also habe ich es gelassen und wegen meinen mäßigen Englisch Kenntnissen kann ich dort eh keine sinnvollen Beiträge posten
also habe ich es gelassen und wegen meinen mäßigen Englisch Kenntnissen kann ich dort eh keine sinnvollen Beiträge posten
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Re: Bug in Structure RAWINPUTDEVICELIST
Hm, davon weiß ich nichts.hjbremer hat geschrieben:nein, früher glaube ich hieß es man braucht es nicht
Mit deepl.com klappt es aber ganz gut.hjbremer hat geschrieben:also habe ich es gelassen und wegen meinen mäßigen Englisch Kenntnissen kann ich dort eh keine sinnvollen Beiträge posten
Ich hab den Fehler für dich im englischen Forum gemeldet.
Re: Bug in Structure RAWINPUTDEVICELIST
dwType.l ist schon richtig, nur muss die Struktur aligned werden.
Gibt sicher hunderte solcher Bugs, Fred sollte endlich mal seine "Residents.pb" veröffentlichen.
Code: Alles auswählen
Structure RAWINPUTDEVICELIST Align #PB_Structure_AlignC
hDevice.i
dwType.l
EndStructure
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: Bug in Structure RAWINPUTDEVICELIST
du hast recht, habe es gerade getestet. Mit Align geht es._JON_ hat geschrieben:dwType.l ist schon richtig, nur muss die Struktur aligned werden.
Gibt sicher hunderte solcher Bugs, Fred sollte endlich mal seine "Residents.pb" veröffentlichen.Code: Alles auswählen
Structure RAWINPUTDEVICELIST Align #PB_Structure_AlignC hDevice.i dwType.l EndStructure
Aber so wie die Structure nun mal ist, ist es halt ein Bug. Denn woher soll der NormalUser wie ich das wissen.
Heraus zu bekommen, warum es nicht funktionierte, hat mich immerhin 1 Stunde gekostet. Denn da komm mal drauf.
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Re: Bug in Structure RAWINPUTDEVICELIST
Das macht Align #PB_Structure_AlignC genau? Was ist der Unterschied zwischen mit Align und ohne Align? Wird die Struktur verändert oder erweitert oder wie muss ich das verstehen? Danke im Vorraus_JON_ hat geschrieben:Code: Alles auswählen
Structure RAWINPUTDEVICELIST Align #PB_Structure_AlignC
Re: Bug in Structure RAWINPUTDEVICELIST
Die Felder in der Stuktur werden an den 32/64-Bit bw. 4/8 Byte Grenzen ausgerichtet. Ich glaube es gibt aber auch Unterschiede bei den Compilern.
Hier ein Bespiel:
Peter
Hier ein Bespiel:
Code: Alles auswählen
Structure Test
a1.a
l.l
a2.a
i.i
EndStructure
Structure TestAlign Align #PB_Structure_AlignC
a1.a
l.l
a2.a
i.i
EndStructure
Debug "a1: " + Str(OffsetOf(Test\a1)) + " - " + Str(OffsetOf(TestAlign\a1))
Debug " l: " + Str(OffsetOf(Test\l)) + " - " + Str(OffsetOf(TestAlign\l))
Debug "a2: " + Str(OffsetOf(Test\a2)) + " - " + Str(OffsetOf(TestAlign\a2))
Debug " i: " + Str(OffsetOf(Test\i)) + " - " + Str(OffsetOf(TestAlign\i))
;Executable type: Windows - x64 (64bit, Unicode, Thread, Purifier)
;[Debug] a1: 0 - 0
;[Debug] l: 1 - 4
;[Debug] a2: 5 - 8
;[Debug] i: 6 - 16
;Executable type: Windows - x86 (32bit, Unicode, Thread, Purifier)
;[Debug] a1: 0 - 0
;[Debug] l: 1 - 4
;[Debug] a2: 5 - 8
;[Debug] i: 6 - 12
Re: Bug in Structure RAWINPUTDEVICELIST
Meistens wird die Struktur durch Align verändert, muss aber nicht zwangsweise.¯\_(ツ)_/¯ hat geschrieben:Das macht Align #PB_Structure_AlignC genau? Was ist der Unterschied zwischen mit Align und ohne Align? Wird die Struktur verändert oder erweitert oder wie muss ich das verstehen? Danke im Vorraus
1) Zuerst wird der größte Typ innerhalb der Struktur gesucht. Die Ausrichtungsgrenzen sind dann immer ein vielfaches dieses Typs.
2) Die einzelnen Strukturfelder werden wie ohne Align geschrieben, allerdings, wenn eine einzelne Variable über die Ausgrenzungsgrenze hinausgeht, wird diese so ausgerichtet, dass sie mit der Ausrichtungsgrenze beginnt.
3) Zum Schluss wird das ganze am Ende noch aufgefüllt, dass die Größe der Struktur immer ein vielfaches des unter Punkt 1 ermittelten Wertes ergibt.