Ungültiger Speicherzugriff

MAC OSX spezifisches Forum
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
babelfish
Beiträge: 57
Registriert: 08.07.2009 10:53

Ungültiger Speicherzugriff

Beitrag von babelfish »

Hallo Mac'ler und/oder PB'ler

Ich hab ein Programm geschrieben (Kundenverwaltung - Rechnungen anlegen etc.) welches unter Windows schon sehr gut läuft.
Blöderweise (oder auch nicht *g*) hab ich mich entschieden auf Mac umzusteigen.

Gut ... einige Miniprogramme (Kontrolle, Statistik etc.) funktionieren nach kleinen Änderungen.

Das Hauptprogramm (ohne Includes etwa 1600 Zeilen) macht mir Probleme...

In verschiedenen Programmteilen bekomme ich "Error - Ungültiger Speicherzugriff"

Beispielsweise:

Code: Alles auswählen

If EventGadget() = #map
						Define mapstrasse$	= GetGadgetText(#Strasse)
						Define mapstrassenr$	= GetGadgetText(#Nr)
						Define mapplz$		= GetGadgetText(#PLZ)
						Define maport$		= GetGadgetText(#Ort)
						textfuerurl$ = mapstrasse$+"+"+mapstrassenr$+"+"+mapplz$+"+"+maport$
						;Define Uebergabeadresse$ = umlaute(textfuerurl$)
								textfuerurl$ = ReplaceString(textfuerurl$,"ä","ae")
								textfuerurl$ = ReplaceString(textfuerurl$,"Ä","ae")
								textfuerurl$ = ReplaceString(textfuerurl$,"ü","ue")
								textfuerurl$ = ReplaceString(textfuerurl$,"Ü","ue")
								textfuerurl$ = ReplaceString(textfuerurl$,"ö","oe")
								textfuerurl$ = ReplaceString(textfuerurl$,"Ö","oe")
								textfuerurl$ = ReplaceString(textfuerurl$,"ß","ss")
						url$ = "http://maps.google.at/maps?f=q&hl=de&geocode=&q="
						url$ + textfuerurl$	;Uebergabeadresse$
						url$ + "&mrt=all&sll=48.22299,14.021778&sspn=0.008949,0.017016&ie=UTF8&z=19&iwloc=addr"
						RunProgram("open",url$,"")
EndIf
Hier bei RunProgram(...)

Der Teil hilft mir den Kunden zu lokalisieren und mich eventuell an Sachen zu erinnern welche ich nicht notiert habe...
Zur Info: Bin Rauchfangkehrer- bzw. Schornsteinfegermeister mit langer(25 Jahre) EDV-Geschichte *g*.
Und hier wird eben das Kundenhaus in Google-Maps angezeigt.

Die Umlautgeschichte hatte ich bis vor kurzem in einer prozedur... da kam es wenn ich eben diese aufgerufen hatte.

Frage 1: den Fehler vermute ich wo anders... Was alles kann diesen Fehler verursachen?
Frage 2: Was bedeutet der Fehler eigentlich im Hintergrund?
Frage 3: Ist das Programm gar zu gross? Zuviele Variablen benutzt? (was ich mir nicht vorstellen kann)

Danke im voraus.
Hauptsächlich Purebasic für OSX
babelfish
Beiträge: 57
Registriert: 08.07.2009 10:53

Re: Ungültiger Speicherzugriff

Beitrag von babelfish »

hab grad ein wenig herumgesucht.

Der Fehler wurde mal mit DIM und mit Gotos in Select/Case in Verbindung gebracht.

Gotos in Select/Case hab ich ein paar - aber die sind hier nicht betroffen...
Ich werd das mal auf If umbauen - und hoffe auf Erfolg - und/oder in der zwischenzeit Infos von euch...
Hauptsächlich Purebasic für OSX
babelfish
Beiträge: 57
Registriert: 08.07.2009 10:53

Re: Ungültiger Speicherzugriff

Beitrag von babelfish »

Ok - alle Select/Case auf if/elseif umgebaut...

Same sh... again.
Hauptsächlich Purebasic für OSX
babelfish
Beiträge: 57
Registriert: 08.07.2009 10:53

Re: Ungültiger Speicherzugriff

Beitrag von babelfish »

Problem gelöst...

Ich habe einige Zeilen verbessert

Zb. Schnipsel:

Code: Alles auswählen

query$ = "select * from..."
query$ + "where ..."
auf eine Zeile zusammenkopiert.

Einige andere Optimierungen erledigt und nun klappt es.
Erklärung hab ich keine da es ja nur Optimierungen waren und nicht Fehlerbereinigung...

Naja - ich schliesse diesen Threat.
Ausgenommen es kann mir das jemand erklären.
Hauptsächlich Purebasic für OSX
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: Ungültiger Speicherzugriff

Beitrag von freak »

Das klingt sehr danach das hier irgendwo Speicher überschrieben wird der nicht beschrieben werden soll, was dann später erst zum Fehler führt. Es kann durchaus vorkommen das so ein Fehler unter Windows unbemerkt bleibt und unter einem anderen OS Probleme macht.

Die 'Purifier'-Option aus PB 4.50 kann solch einen Fehler eventuell finden.
babelfish
Beiträge: 57
Registriert: 08.07.2009 10:53

Re: Ungültiger Speicherzugriff

Beitrag von babelfish »

Danke - habe 4.5 erst seit gestern - ich gehörte zu den DTP-Geschädigten *g*

Purifier - muss ich erst mal gucken...
Hauptsächlich Purebasic für OSX
babelfish
Beiträge: 57
Registriert: 08.07.2009 10:53

Re: Ungültiger Speicherzugriff

Beitrag von babelfish »

Purifier hat mir gezeigt das ich... naja :oops: - ziemliche sch...e gebaut hatte.

Die Verbesserungen die ich eingebaut habe waren mehr als Optimierungen... :roll:

Alleine die richtige Event-Behandlung hat vieles bewirkt - das alte Programm lief ständig alle Abfragen durch statt zu warten auf ein Event welches auch was bewirkt...
Eine Mausbewegung im Fenster hat schon eine Vielzahl von Abfragen ausgelöst...

Purifier = :allright:

Danke an das PB-Team!!!!
Hauptsächlich Purebasic für OSX
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Re: Ungültiger Speicherzugriff

Beitrag von Blackskyliner »

Hier übrigens noch den Verweis auf die Funktionsweise, übersetzt von mir ins Deutsche: http://www.purewiki.xthost.net/index.php?title=Purifier

Hoffe es ist keine belästigende Werbung :)
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Antworten