![]() |
Unverständliche Exception
Hallo, ich habe längere Zeit nichts mit Delphi gemacht, und stehe jetzt völlig auf dem Schlauch, vermutlich übersehe ich etwas ganz triviales:
Ich habe eine Klasse definiert
Delphi-Quellcode:
Hier der Konstruktor:
TDataStream = class
private ... currentday, lastday: TDateTime; ... public constructor create(const typ: Datastreamtypes; const symbol: string; const von,bis: TDateTime); destructor destroy; end;
Delphi-Quellcode:
und eine Vartiable
constructor TdataStream.create(const typ: Datastreamtypes; const symbol: string;
const von,bis: TDateTime); var s: string; begin inherited create; (* Brauche ich das überhaupt bei einer von TObject abgeleiteten Klasse? *) CurrentDay:=von; LastDay:=bis; ...
Delphi-Quellcode:
Beim Aufruf von DS.Create(...)
var DS: TDataStream;
bekomme ich bei der Zuweisung
Delphi-Quellcode:
, also beim allerersten Zugriff auf die Klasseninstanz, eine Exception vom Typ EACCESSVIOLATION. Was kann da der fehler sein (Die Variable "von" enthält einen gültigen TDateTime-Wert, das habe ich überprüft, obwohl es für diese Exception ziemlich sicher egal ist).
CurrentDay:=von;
|
AW: Unverständliche Exception
Access Violation weist darauf hin, daß das Objekt, auf das du zuzugreifen versuchst, zu diesem Zeitpunkt (noch) nicht existiert. Offenbar wird das Projekt erst erzeugt, nachdem die Create-Procedure vollständig durchlaufen wurde.
Das bedeutet: Du mußt dir eine extra public Procedure schreiben, in welcher du die beiden privaten Variablen setzt. |
AW: Unverständliche Exception
Ich hatte noch nie Probleme Feldern Werte zu zuweisen die aus Parametern den Konstruktors kommen.
|
AW: Unverständliche Exception
Mal ganz blöd gefragt: Wie erzeugst Du Dein DataStream Object?
Du schriebst was von
Delphi-Quellcode:
In Delphi werden Objekte so erzeugt:
DS.Create
Delphi-Quellcode:
DS := DataStream.Create(...)
|
AW: Unverständliche Exception
@ silver-moon-2000
Danke! Ich war mir sicher, dass es ein ganz idiotischer Fehler sein muss, aber es war gestern (heute) auch schon spät :) Wenn man eine Zeit lang in x verschiedenen Sprachen programmiert, bringt man die syntaktischen Konstrukte leicht durcheinander. Ich habe gestern eine gute halbe Stunde versucht, mich an den Fehler heranzutasten, aber da habe ich einfach nur drübergelesen. Wie schön, dass du "blöd gefragt" hast. :-D |
AW: Unverständliche Exception
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz