PB5.30 geht.... PB5.50 bringt Fehler !

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von Then »

Hallo, habe ein Programm zur Steuerung meiner Lichtanlage (Weihnachtsbeleuchtung am Haus :D ) geschrieben und lese WAV Dateien ein, welche dann per Zeitachse grafisch dargestellt werden und da kann ich dann die Lichteffekte mit steuern. Unter 5.30 läuft alles bestens, habe nun auf 5.50 geuppt und nu kommen Fehler in folgendem Stück.... :

Code: Alles auswählen

If ReadFile(0,wav_datei$ )
    riff$="" 
    For i=1 To 4
     riff$+Chr(ReadCharacter(0))
    Next
    gr=ReadLong(0)
    wave$=""
    For i=1 To 4
     wave$+Chr(ReadCharacter(0))
    Next
    fmt$=""
    For i=1 To 4
     fmt$+Chr(ReadCharacter(0))
    Next
    fmt_length=ReadLong(0)
    format_tag=ReadWord(0)
    channels=ReadWord(0)
    sample_rate=ReadLong(0)
    bytes_per_second=ReadLong(0)
    block_align=ReadWord(0)
    bits_per_sample=ReadWord(0)
    dat$=""
    For i=1 To 4
     dat$+Chr(ReadCharacter(0))
    Next
    data_length=ReadLong(0)
    *buffer=AllocateMemory(data_length)
    ReadData(0, *buffer, data_length)
    CloseFile(0)  
   EndIf 
Ist das nur bei mir so ??
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von RSBasic »

Was für einen Fehler bekommst du?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von Then »

Die Data_Length ist = 0

Code: Alles auswählen

Line: 157 - AllocateMemory(): Can´t allocate a memory block of size ().
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
grapy
Beiträge: 108
Registriert: 09.09.2004 09:05

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von grapy »

Unicode!?
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von Then »

Wat ?? :o

Also wenn ich diesen Code in PB 5.50 einfüge und eine Wavedatei lade kommt ein Fehler !

Selber Code in PB 5.30 funktioniert einwandfrei... :shock:

Ohne Erweiterungen etc...
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von RSBasic »

Er meint, ob du dieselben Compiler-Einstellungen verwendest wie in 5.30.
Wenn du in 5.30 die Unicode-Einstellung aktiviert hast, dann musst du sie in 5.50 ebenfalls aktivieren. Wenn du kein Unicode verwendest, dann musst du Unicode in 5.50 deaktivieren.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von Then »

nöööö..... nix UNICODE

frisch installiertes PB 5.30 in neues Verzeichnis : geht !
frisch installiertes PB 5.50 in neues Verzeichnis : geht nicht !

nix umgestellt oder so. Geht denn der Code bei Euch ??
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
Bisonte
Beiträge: 2474
Registriert: 01.04.2007 20:18

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von Bisonte »

RSBasic hat geschrieben:...Wenn du kein Unicode verwendest, dann musst du Unicode in 5.50 deaktivieren.
Psssst. RSBasic .... Versuch das mal :mrgreen:

Aber um das Problem mal zu beschreiben :

Wenn Du mal in PB5.30 die Compileroption "Unicode Executable erstellen" anwählen würdest, würde das unter 5.30 auch nicht mehr funktionieren!

Du versuchst aus dem Speicher (in dem Fall ein File) Unicode Zeichen einzulesen. Ein ASCII Character ist definitiv 1 Byte... womit dein Programm funktioniert.
Unter Unicode sind die Zeichen grösser als 1 Byte, daher klappt das ganze nicht mehr.

Als Tipp sieh dir nochmal ReadCharacter() in der Hilfe an. Besonders das Flag!
Zuletzt geändert von Bisonte am 22.11.2016 13:29, insgesamt 1-mal geändert.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
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: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von ts-soft »

RSBasic hat geschrieben:Wenn du in 5.30 die Unicode-Einstellung aktiviert hast, dann musst du sie in 5.50 ebenfalls aktivieren.
Unicode ist immer in 5.50 aktiviert! :wink:
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
Benutzeravatar
grapy
Beiträge: 108
Registriert: 09.09.2004 09:05

Re: PB5.30 geht.... PB5.50 bringt Fehler !

Beitrag von grapy »

eben, drum sollte das dann so aussehen: ReadCharacter(0 ,#PB_Ascii)
Antworten