Autor Beitrag
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Fr 14.05.04 20:58 
Hallo,

kein Witz, ich weiß, man hat oft das Gefühl der Compiler will einen nur ärngern, aber diesmal ist es Fakt!!!

Also, ich habe ein Form mit mehreren Kompos, betroffen sind eine Combo und eine PaintBox. Wenn man die Kompo ändert wird der Index ausgelesen und Variablen gesetzt. Beim Klick auf einen Button wird was in die Box gezeichnet.

So, jetzt wirds lustig. Zur Laufzeit, klicke ich auf den Button, und beim ersten Zeichenbefehl kommt eine AccessViolition (nicht bei null). Das Gleiche wenn ich was aus der Box auswähle, Zugriffsverletzung im Code beim holen des ItemIndex.

Was kann man tun? Ich setze eine weitere ComboBox aufs Form, irgendwo, hauptsdache im Form ist noch ne Combo. Neu compilieren - -> alles 100% Fehlerfrei.

Was kann das sein? Die neu erzeugte Combo wird nirgends im Code aufgerufen (sonst lönnte man es ja gar nicht kompilieren), außerdem tut der Painbox-Code auch, obwohl der GAR NICHTS mit der Combo zu tun hat.

Tja, warscheinlich bin ich der einzieg mit einem so *coolen* Delphi, aber ich wäre trotzden froh, wenn mir einer von euch helfen könnte, das bringt mich noch mal zu Verzeweiflung :cry:

Moderiert von user profile iconTino: Titel geändert.

_________________
Life is a bad adventure, but the graphic is really good!
NetZwerg
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 448

Slackware 10.1
Kylix 3, D5 Standard
BeitragVerfasst: Fr 14.05.04 21:45 
kannst das projekt ja mal jemandem geben! hast du webspace? dann könntest du's hochladen. wenn nich schick mir ne pn, ich geb dir meine email und dann lade ichs hoch. klingt aber recht merkwürdig... :roll:

_________________
"Manche Leute drücken nur deshalb ein Auge zu, damit sie besser zielen können."
Billy Wilder, amer. Filmregisseur
mstuebner
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 132

Win2000, XP
D7
BeitragVerfasst: Fr 14.05.04 22:00 
Titel: Re: Hilfe - Compiler erzeugt absoluten Murks!!!
Andreas Pfau hat folgendes geschrieben:
Tja, warscheinlich bin ich der einzieg mit einem so *coolen* Delphi, aber ich wäre trotzden froh, wenn mir einer von euch helfen könnte, das bringt mich noch mal zu Verzeweiflung :cry:

Ich konnte bereits öfters feststellen, dass Access Violations auf einmal weg waren, wenn ich ohne jegliche zusätzliche Änderung einen Komplettbuild gemacht habe, statt einfach Run.

_________________
mfg Matthias
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Fr 14.05.04 22:03 
Hallo,

OK, hier: www.delphistuff.gmxh...ads/AvrLcdSender.zip

Es handelt sich um den Update-Button, der die LCD-Vorschau rendert, sowie die beiden Panels für Userfarben und die Combo für Farbpresets. Der ASCII-Editor tut anstandslos (na ja, manchmal wird das Label nicht aktualisiert, auch so ne Macke).

Im Moment geht es - mit dem Pseudo-ColorDialog und der Pseudo-Combo. Wenn ich sie wegmache tuts nicht mehr (Accessvioloition). glaube kauem dass dein Compiler genauso verfährt, aber wenn doch hätten wir immerhin einen Bug entdeckt...

Wie gesagt - ich komme mir oft veralbert vor und finde nach Stunden den Fehler - aber das kanns nicht sein, das ist DEFINITIV ein Compilerfehler!!!

_________________
Life is a bad adventure, but the graphic is really good!
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Fr 14.05.04 22:14 
Hallo,

habe das Archiv aktualisiert - die DAT war nicht dabei, ohne die wirkt das Prog villeicht erinwenig sinnlos, funzt aber trotzdem.

Egal, also, wegen dem Build: alles porbiert. Auch mal alle Compiler-Files gelöscht, d.h. alles außer DPR, PAS und DFM und dann neu compiliert -> das gleiche.

Irgendwie scheint es als ob der Compiler zu wenig Speicher für die Kops reserviert, was man durch hinzufügen einiger Fake-Kompos kompensieren kann (meine Theorie).

Na ja, villeicht sollte ich mir mal n Wochenden Zeit nehmen und mal wieder den guten alten Format C ausprobieren... hab ich schon lange nicht mehr... klar, auf meinem System ist ein haufen Schrott der runtergehört, und ich eh mal wieder nen Frühjarsputz machen sollte, aber dass deswegen SOLCHE Fehler kommen???

_________________
Life is a bad adventure, but the graphic is really good!
GSE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 740

Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
BeitragVerfasst: Fr 14.05.04 22:29 
Weiß nich tob´s viel hilft, aber:
Hab´s mal runtergeladen und getestet (mit und ohne "Sinnlos"-Combo) und bei mir läufts sauber durch, also ohne Zugriffsverletzungen.
Hab D6 Enterprises, vielleicht ist der "Fehler" ja versionsabhängig?

mfg
GSE

_________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: So 16.05.04 14:44 
Hallo,

meine Vermutung ist dass an meinem System bzw der Delphi-Installation was oberfaul ist. Aber villeicht hatta ja mal jemand das gleiche Problem und weiß Rat... :(

Na ja, was solls, irgendwann muss ich die Platte eh mal wieder runterschmeißen und alles neu drauf, muss wohl so ne Windows-acke sein dass das ständig nötig ist, tja, solange werde ich wohl meine Fake-Combos brauchen *g*

_________________
Life is a bad adventure, but the graphic is really good!
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: So 16.05.04 14:46 
Stell mal eine solche fehlerhafte Exe zum download.. würd mich wirklich interessieren, denn eine von mir kompilierte Exe deiner Source hat problemlos funktioniert..!

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
GSE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 740

Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
BeitragVerfasst: So 16.05.04 14:53 
Andreas Pfau hat folgendes geschrieben:
Na ja, was solls, irgendwann muss ich die Platte eh mal wieder runterschmeißen
Wenn du die Platte immer runterschmeißt kann die ja nur kaputt gehen, ist doch sensible Elektronik :twisted:

mfg
GSE

_________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: So 16.05.04 15:07 
Hallo,

die EXE ist langweilig, nur ne Zugriffsverletzung, laut Debugger an der Stelle wo ich auf die Kompo zugreife. Keine An Adresse null, sondern schon irgendne Adresse, aber halt dennoch kaum nachvollziehbar, wie immer.

Aber OK, das Archiv ist aktualisiert, die EXE ist drin (nur die fehlerhafte). Aber leider trotzdem nicht so dolle - nun macht er die Combo richtig, aber beim Color-Dialog macht er ne AccesViolition. Der Compiler macht halt eh was er will. Hab jetzt keinse Lust so lange neu zu kompilieren bis der Alte Fehler wiederkommt, aber klickt einfach auf die beiden Panels, dann kommt der fehler.


Zitat:
Wenn du die Platte immer runterschmeißt kann die ja nur kaputt gehen, ist doch sensible Elektronik

Ich lass sie ja nur mit der spitzen Seite auf den Löschmagneten fallen :wink:

_________________
Life is a bad adventure, but the graphic is really good!
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Di 18.05.04 13:49 
Dein Compiler macht alles richtig. Nur du hast da einen Fehler im Code.

ausblenden Delphi-Quelltext
1:
2:
3:
CurrentCharIndex := -1;
...
Chars[CurrentCharIndex] := CurrentChar;

Man sollte auf ein Array nicht mit -1 zugreifen, denn damit überschreibst du die Variable/Feld, das vor dem Array deklariert ist. Und das ist in deinem Fall eben die Komponente.

_________________
Ist Zeit wirklich Geld?
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Di 18.05.04 18:54 
Hallo,


ja, du hast Recht - es löst EIN Problem, aber nach wie vor kommt der Fehler. Und nach wie vor lässt er sich aushebeln indem ich eine "Fake-Kompo" einbaue... und warscheinlich kommt er nach wie vor bei den Andern Forenmitgliedern nicht. Und er kommt ja seltsamerweise auch erst dann wenn ich auf eine Kompo zugreife, nicht beim CurrentCharIndex.

Tja, trotzdem Danke für den Tipp, ein Bug weniger. Habe mich inzwischen damit abgefunden, dass irgendwas an System lose ist.

_________________
Life is a bad adventure, but the graphic is really good!
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Di 18.05.04 21:21 
Andreas Pfau hat folgendes geschrieben:
Hallo,
Habe mich inzwischen damit abgefunden, dass irgendwas an System lose ist.


Ich glaube eher das dein Code nicht in Ordnung ist. Am besten aktivierst du mal die Bereichsüberprüfung und die Überlaufprüfung (Projekt/Optionen/Compiler). Da kann dir einige solcher Fehler recht schnell erkennen. Wenn das Programm dann funktioniert, kannst du die beiden Häkchen ja wieder entfernen.

_________________
Ist Zeit wirklich Geld?
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Mi 19.05.04 17:31 
Hallo,

nee, keine Fehler (Ok, bevor ich teinen tipp angewandt habe schon). aber wenn ich es neu kompilier kommt mal der fehler mal net... es sei denn ich setz diese kompo rein... alles dreht sich im kreis...

_________________
Life is a bad adventure, but the graphic is really good!
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Mi 19.05.04 17:45 
Wenn der Compiler einen solchen Fehler hätte, würde er erstens dauernd auftreten und zweitens hätten den 100%-tig schon mehrere gefunden und an Borland gemeldet.
Überprüfe am besten noch mal deine Arrays und sonstige Speicherzugriffe. Der Compiler macht nur das, was du ihm sagst.


Wie hast du denn obigen Index-Fehler behoben?

_________________
Ist Zeit wirklich Geld?
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Mi 19.05.04 19:35 
Hallo,

ich sag doch, es kommt mal und mal nicht! warum glaubt mir keiner? sag mir bitte wie man einen zugriffsfehler vermeiden kann indem man eine kompo aufs form zieht!

egal, fakt ist, es kommen 4 arbeitsfreie tage, bis dahin ist die platte leer, dann kommt alles neu druaf. dann kompilier ichs nochmal und dann ist gut (hoffen wirs...)

den fehler habe ich behoben indem ich den index auf -1 prüfe (er muss anfangs -1 sein, da er ja praktisch dazu dient das aktuelle char zu sichern).

also, trotzdem mal danke an alle. ich sage bescheid wenn nach meiner radikalkur der fehler immer noch kommt - dann hast du recht gehabt.

_________________
Life is a bad adventure, but the graphic is really good!
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Do 20.05.04 12:53 
Hallo,

juhu, es funzt wieder!!! Delphi neu drauf, alles OK... Habs x-mal kompiliert, jedesmal fehlerfrei.

Muss dir (AndyB) aber trotzdem Recht geben - Wenn ich das mit dem "-1" nicht mii "if" nachprüfe, kommt nach wie vor ein Zugriffsfehler (sollte ja auch so sein).

Aber woran das andere lag, der Zugriffsfehler beim Canavs und so, dass weiß ich immer noch nicht :( habe sicherheitshalber mal das Delphi-Update 7.1 installiert.

Nochmals vielen Dank an alle beteiligten! :D

_________________
Life is a bad adventure, but the graphic is really good!