Forum: Object-Pascal / Delphi-Language
by cltom,
12. Jun 2013
ps. wenn ich die Arrays konstant definiere dann gibt es nirgendwo Fehlermeldungen ...
Forum: Object-Pascal / Delphi-Language
by cltom,
12. Jun 2013
Kleines Update:
An den Objekten A und B selbst liegt es offenbar nicht, sondern es gibt eine Querabhängigkeit zu einem ObjektC (das auch eine Instanz vom ObjektB enthält). Genauer gesagt scheint es am SetLength von ein paar dynamischen Arrays im ObjektC zu liegen. Sobald ich die rausnehme, klappt es (natürlich fehlt dann ein großer Teil vom ObjektC).
Wirklich schlau bin ich damit auch noch...
Forum: Object-Pascal / Delphi-Language
by cltom,
6. Jun 2013
Also, die Tipps hab ich natürlich befolgt und probiert (einzige Einschränkung: soweit ich sie auch verstanden habe - welches Protokoll etwa meinst Du? :oops: oder Instanznummer?).
Objekt A existiert, ich kann einen Breakpoint vor dem Aufruf der ProzedurY setzen und kann da alle Werte im ObjektA aber auch im Unterobjekt B einsehen. Objekt A und Objekt B existieren eine Codezeile vorher noch....
Forum: Object-Pascal / Delphi-Language
by cltom,
6. Jun 2013
Hallo,
danke nochmals für den Input. Habe sowohl den Assert/Assigned-Trick versucht als auch die Bereichsüberprüfung. Es läuft aber letztlich offenbar immer darauf hinaus, dass dieses ObjektB im Objekt A nicht existiert. Freigegeben wird es aber auch nicht.
Die Fehlermeldung anbei bringt wohl auch nicht mehr Licht in die Sache.
Forum: Object-Pascal / Delphi-Language
by cltom,
5. Jun 2013
mit der Instanz der KlasseB mache ich sonst nichts dergleichen. Auch sonst im Projekt, in anderen Instanzen dieses Objekts habe ich keine Pointer, getmen/freemem, ...).
Was ich probiert habe, den Inhalt der ProzedureX nach Y zu kopieren. Das klappt auch nicht. Selbst wenn die ProzedurY genau den gleichen Inhalt hat, gibts die Schutzverletzung. So, als ob beim Aufruf dieser Prozedur das Objekt...
Forum: Object-Pascal / Delphi-Language
by cltom,
5. Jun 2013
Danke schon mal für die Antworten. Das Komische ist, dass ich knapp vorher noch auf das Objekt zugreifen kann.
//main form
objekta.objektb.value_a := 123.0;
if somecondition then
objekta.prozedurx
else
objekta.prozedury;
Forum: Object-Pascal / Delphi-Language
by cltom,
4. Jun 2013
ps. Wenn ich die beiden Klassen herausziehe und in ein leeres Testprojekt stecke, dann klappen übrigens auch die beiden Prozedur-Aufrufe, es muss also irgendeine Querabhängigkeit sein.
Hmm, ich weiss, damit wird man nicht schlauer ...
Forum: Object-Pascal / Delphi-Language
by cltom,
4. Jun 2013
Hallo,
nach mehrstündiger Suche hab ich noch immer keinen Deut und hoffe auf Hinweise:
Der Fehler ist eine Schutzverletzung, sobald ich auf ein objekt zugreife. Eine Prüfung "if assigned(sd)" nutzt nichts, da geht er darüber.
Das Objekt selber ist in eine andere Klasse gepackt. Sinngemäß sieht das so aus:
ObjektA.ObjektB.ParameterA := s;