Aktuelle Zeit: 26.05.2018 13:38

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags: Re: SuperviseDirectory() & GetKnownFolder() [Module][WIN]
BeitragVerfasst: 10.03.2018 11:24 
Offline
Benutzeravatar

Registriert: 11.08.2005 19:08
Bisonte hat geschrieben:
Code:
FileAction_File = PeekS(@buffer\Filename, buffer\FileNameLength, #PB_Unicode)
Das ist auch nicht korrekt, weil PeekS() als Parameterangabe die Anzahl der Zeichen haben möchte, die ausgelesen werden sollen, buffer\FileNameLength enthält aber laut MSDN (FILE_NOTIFY_INFORMATION) die Länge des Dateinamens in Bytes.
Deine Zeile sollte also so aussehen:
Code:
FileAction_File = PeekS(@buffer\Filename, buffer\FileNameLength / 2, #PB_Unicode)
Ein Unicode-Zeichen in PB benötigt 2 Bytes.

Der Grund, warum du den Fehler nicht reproduzieren kannst, liegt daran, weil bei deinem buffer\Filename glücklicherweise jedes Mal ein Null-Byte am Ende ist und PeekS() rechtzeitig mit dem Auslesen abbricht. Die Parameterangabe "Länge" bei PeekS() gibt ja nur die maximale Anzahl zu lesende Zeichen an, wenn aber schon vorher ein Null-Byte entdeckt wird, bricht PeekS() schon vorher mit dem Auslesen ab. Im buffer\Filename von oO0XX0Oo gibt es aktuell leider erst viel später ein Null-Byte, weshalb nach dem Dateiname auch noch weitere Zeichen aus dem Memory gelesen werden.

_________________
Bild

PureBasic-CodeArchiv-Rebirth: Git-Repository / Download -- Jede Hilfe ist willkommen!

Manjaro Xfce x64 (Hauptsystem) :: WindowsXP/Xubuntu x86 (VirtualBox) :: PureBasic (Linux: x86/x64, Windows: x86) :: jeweils neueste Version


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SuperviseDirectory() & GetKnownFolder() [Module][WIN]
BeitragVerfasst: 10.03.2018 14:05 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Hab ich das Bytes überlesen ? Alle Achtung.
Dann macht das ganze natürlich Sinn.

Änderung wird implementiert.

_________________
PureBasic 5.46 LTS / 5.62 (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SuperviseDirectory() & GetKnownFolder() [Module][WIN]
BeitragVerfasst: 11.03.2018 18:24 
Offline

Registriert: 21.07.2017 22:36
Danke @Sicro für die Erklärung und die Korrektur der nötigen Zeile und danke @Bisonte
für die Änderung(en)!

Funktioniert hier im Moment hervorragend :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye