Hi @ all,
ich habe eine Paket Componenten selbst geschrieben (Alles in D7). Darunter sind ca. an die 20 Komponeten, die teilweise auch threads enthalten. Der Code ist an sich sauber. Ich habe laut fastmm4 keine memory leaks. Laut meiner debug-klasse werden alle Objekte die zur laufzeit erstellt werden auch wieder ordentlich freigegeben. (simples loggin in einem file & ganz einfacher adressen-vergleich per hand bzw. per marker ^^)
Nun kommt das Problem: (An dem ich echt verzweifel)
Ich kann das
Package compilieren ohne fehler (nur 2 bis 3 warnungen wegen überschriebener constructoren). Ich kann die Komponeten installieren und sehe sie auch in der Palette. Ich kann Sie aktuallisieren und somit das gesammte pack neu übersetzen lassen.
ABER bei 3. oder 4. mal, wenn ich das pack neu compiliere steigt delphi mit einer Zugriffsverletzung unter großem gezehter komplett aus. Wenn ich delphi neu starte und das wieder hole kann ich wieder ein paar mal neu compilieren und ende im gelände.
D.h. ich hänge so zu sagen in der Delphi-Entwurfszeit, in der meine Komponeten eigentlich nix machen... Ich bekomme keine infos über eventuelle memoryleaks... Ich vermute mal, dass ich irgendwo etwas freen will, was nicht mehr existiert. Ich habe alle meine Free-Routinen & Destructoren schon mehrfach durchgesehen finde aber nichts.
Ich habe den BorlandMM ersetzt durch FastMM, aber das änder weder am angezeigten fehler etwas noch gibt es mir irgendeine hilfe in diesem Fall.
Ich kann den Fehler zur Runtime, z.b. in einem Programm, welches meine komponeten benutzt und alle funktionen anspricht (automaitsierte Test-Suite) nicht reporduzieren.
Unterm Strich: Wie kann man Komponenten zur
ide-"Designtime" (also kompo-laufzeit in der
ide) debuggen!?
Ich bin für alle Kritik, Anregungen, Idee und Kommentare sehr dankbar!
cya
Corelgott
ps: Der wenig aussagekräftige error-text:
Delphi 7: delphi32.exe - Fehler in Anwendung
---------------------------
Die Anweisung in "0x4003ba4f" verweist auf Speicher in "0x07aac904". Der Vorgang
"read" konnte nicht auf dem Speicher durchgeführt werden.
wer Rächtschraibfehler findet daaf sie behalten...