Die Suche ergab 8 Treffer

von Ty
27.10.2008 14:34
Forum: Offtopic
Thema: Komischer Windows XP Bug ANSI <-> UNICODE in Notepad
Antworten: 6
Zugriffe: 1590

Ich glaub, ich habe es verstanden. Der "Fehler" liegt wohl in der IsTextUnicode API Funktion.

string1$="secret:xxxxxxxxxxxxxxx xxxxxxxxxxx"
string2$="this app can break"

ansi$ = string1$
*MemoryID = AllocateMemory(Len(ansi$) + 1)
PokeS(*MemoryID, ansi$)
If IsTextUnicode_(*MemoryID, Len(ansi ...
von Ty
27.10.2008 13:38
Forum: Offtopic
Thema: Komischer Windows XP Bug ANSI <-> UNICODE in Notepad
Antworten: 6
Zugriffe: 1590

Komischer Windows XP Bug ANSI <-> UNICODE in Notepad

Gerade bin ich über einen komischen Windows XP Bug gestolpert.

ansi$="secret:xxxxxxxxxxxxxxx xxxxxxxxxxx"
CreateFile(1, "x.txt")
WriteString(1, ansi$)
CloseFile(1)
RunProgram("notepad.exe", "x.txt", "")

Ich weiß nicht, wie Notepad darauf kommt, das es sich hierbei um eine UNICODE Datei handelt ...
von Ty
27.05.2008 13:46
Forum: Bugs
Thema: Invalid memory access bei ReadString
Antworten: 9
Zugriffe: 3143

WriteString scheint nen Bug zu haben, funktioniert nicht mit Unicodestrings
im Ascii Modus, müßte es aber.
Jeep, der Bug liegt nicht beim ReadString sondern beim Schreiben der Datei.

Selbst wenn man WriteString
; WriteString(0, writebuffer$, #code)
WriteData(0, @writebuffer$, Len(writebuffer ...
von Ty
27.05.2008 01:46
Forum: Bugs
Thema: Invalid memory access bei ReadString
Antworten: 9
Zugriffe: 3143

Interessanter Ansatz:
Der folgende Code läuft auch mehrere Male, wenn die Temp.txt mit 2050 Zeichen schon existiert.

; bug report PureBasic 4.20

#file$ = "Temp.txt"
#maxlen = 2050

#code = #PB_Unicode
; #code = #PB_Ascii

bufferlength = #maxlen
For x = 1 To 300
writebuffer$ = Space(bufferlength ...
von Ty
27.05.2008 01:25
Forum: Bugs
Thema: Invalid memory access bei ReadString
Antworten: 9
Zugriffe: 3143

In dem Beispiel geht es hauptsächlich darum eine "Grenze" zu finden. Für

Code: Alles auswählen

#maxlen = 2047
kann man für x gleiche mehrere hundert Durchläufe ohne Fehler machen.
von Ty
27.05.2008 01:19
Forum: Bugs
Thema: Invalid memory access bei ReadString
Antworten: 9
Zugriffe: 3143

Der Quellcode oben ist nur ein Beispiel. Ich verarbeite Text-Dateien, die etwa 30 MByte groß sind. Da stehen nunmal mehrere Zeilen drin.

Der folgende Code hat weniger Dateizugriffe und endet bei mir auch in einen Invalid memory access

; bug report PureBasic 4.20

#file$ = "Temp.txt"
#maxlen ...
von Ty
27.05.2008 00:12
Forum: Bugs
Thema: Invalid memory access bei ReadString
Antworten: 9
Zugriffe: 3143

Invalid memory access bei ReadString

Für den Fall, daß ich ReadString im Unicode Format auf eine größere Zeile mit mehr als 2049 Zeichen anwende, bekomme ich immer einen Invalid memory access.

; bug report PureBasic 4.20

#file$ = "Temp.txt"
#maxlen = 2048 * 4
#code = #PB_Unicode
; #code = #PB_Ascii

For bufferlength = 0 To #maxlen ...
von Ty
26.04.2005 10:21
Forum: Allgemein
Thema: DEFINITIV: Bug
Antworten: 7
Zugriffe: 1950

Grundsätzlich dürfte das Problem daran liegen, das sich an der KERNEL32.LIB was geändert hat.

PureBasic Version 2.92 KERNEL32.LIB 163.052 Bytes
PureBasic Version 2.93 KERNEL32.LIB 110.314 Bytes

In der "neuen" LIB ist z. B. die API Funktionen CreateToolhelp32Snapshot nicht mehr definiert, warum ...