Fehlermeldung
Fehlermeldung
Hallo, zusammen!
Ich bekomme ungefähr bei jedem dritten Debuggen eines von mir selbst geschriebenen Programms folgende Fehlermeldung für die letzte Zeile, in der die End-Anweisung steht:
Invalid Memory access. [read error at address 22615425]
Es ist jedesmal dieselbe Adresse. Das Programm läuft ansonsten einwandfrei. Ist das nur ein Schönheitsfehler? Oder gibt es für diese Fehlermeldung eine Ursache, die ich beseitigen sollte?
Ach ja, noch vergessen: Das Ganze passiert unter PB 4.30, unter PB 4.20 gab es für dasselbe Programm (einziger Unterschied: CreateGadgetList) nicht eine solche Fehlermeldung.
Ich bekomme ungefähr bei jedem dritten Debuggen eines von mir selbst geschriebenen Programms folgende Fehlermeldung für die letzte Zeile, in der die End-Anweisung steht:
Invalid Memory access. [read error at address 22615425]
Es ist jedesmal dieselbe Adresse. Das Programm läuft ansonsten einwandfrei. Ist das nur ein Schönheitsfehler? Oder gibt es für diese Fehlermeldung eine Ursache, die ich beseitigen sollte?
Ach ja, noch vergessen: Das Ganze passiert unter PB 4.30, unter PB 4.20 gab es für dasselbe Programm (einziger Unterschied: CreateGadgetList) nicht eine solche Fehlermeldung.
- Josef Sniatecki
- Beiträge: 657
- Registriert: 02.06.2008 21:29
- Kontaktdaten:
Am besten ist es, wenn du uns einen Code zeigst. Denn sonst kann man
einen Fehler nicht direkt finden.
Ich kann nur eines sagen:
Wenn ein Fehler bei einer END-Anweisung auftritt, dann ist es
bestimmt eine Goto-Fehlsetzung oder ein Aufruf von CallFunction mit
einer falschen Anzahl an Parameter.
einen Fehler nicht direkt finden.
Ich kann nur eines sagen:
Wenn ein Fehler bei einer END-Anweisung auftritt, dann ist es
bestimmt eine Goto-Fehlsetzung oder ein Aufruf von CallFunction mit
einer falschen Anzahl an Parameter.
PB 4.61 | Windows Vista - 32Bit
Homepage
"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Homepage
"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
- 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
> Ist das nur ein Schönheitsfehler?
Es gibt beim Programmieren keine Schönheitsfehler
Du greifst auf Speicher zu, der nicht existiert, entweder falscher Pointer,
Speicherbereich beim beschreiben überschritten und deshalb inzwischen
ungültig oder sonst was, ohne Code kann Dir keiner helfen.
Es gibt beim Programmieren keine Schönheitsfehler

Du greifst auf Speicher zu, der nicht existiert, entweder falscher Pointer,
Speicherbereich beim beschreiben überschritten und deshalb inzwischen
ungültig oder sonst was, ohne Code kann Dir keiner helfen.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Danke für die Antworten. Der Code ist wirklich zu lang fürs Posten - ehrlich. Er enthält Prozeduren für Fußschalter, Joypads zum Abspielen von mp3-Dateien. Mein Gedanke war, dass PB 4.30 vielleicht bei einigen Anweisungen empfindlicher hinsichtlich der Speicherverwaltung ist als PB 4.20 und dass ich darüber einen Hinweis auf die Ursache des "Schönheitsfehlers" bekommen könnte, zumal die Fehlermeldung nicht jedesmal auftaucht.
@edel:
Ich benutze für meinen Fußschalter eine DLL:
In der anschließenden Repeat-Schleife fange ich dann den entsprechenden Event für das Drücken einer Fußtaste ab.
Ich benutze für meinen Fußschalter eine DLL:
Code: Alles auswählen
hdl.l = WindowID(#window)
CallFunction(0, "OpenUSBFootSW", hdl, 0)
- 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
Dann füg mal ein CloseWindow(0) am ende ein.
PS: Für DLL Aufrufe besser Prototypes verwenden!
Gruß
Thomas
PS: Für DLL Aufrufe besser Prototypes verwenden!
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Es kann sein das die DLL geschlossen wird, die interne Fensterfunktion
aber noch auf die in der DLL zeigt. Versucht man diese nicht mehr
gueltige Funktion nun aufzurufen, gibt es einen IMA. Unter 4.20 war
die Reihenfolge der PB Funktionen, die fuer das Freigeben der Objekte
verantwortlich sind, etwas anders. Also einfach mal Thomas Tipp testen.
aber noch auf die in der DLL zeigt. Versucht man diese nicht mehr
gueltige Funktion nun aufzurufen, gibt es einen IMA. Unter 4.20 war
die Reihenfolge der PB Funktionen, die fuer das Freigeben der Objekte
verantwortlich sind, etwas anders. Also einfach mal Thomas Tipp testen.