![]() |
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Zitat:
|
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Und hast du schon mal den Debugger angeworfen und geschaut, warum es denn knallt? Es kann nur knallen, wenn was nicht initialisiert ist, versuch rauszufinden was nicht existiert und schau dann warum es nicht existiert...
|
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Zitat:
|
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
mach mal vor das
Delphi-Quellcode:
das hier:
Memo1.Lines.Text := Conf.MemoInhalt.Text;
Delphi-Quellcode:
wo kommt die Fehlermeldung?
ShowMessage(Memo1.Name);
ShowMessage(Conf.ClassName); ShowMessage(Conf.Memoinhalt.ClassName); |
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Zitat:
Delphi-Quellcode:
Also doch wieder nicht Initialisiert bzw Nil?
ShowMessage(Conf.Memoinhalt.ClassName);
Versteh ich nicht da:
Delphi-Quellcode:
published
constructor Create(const FileName: string); overload; constructor TAppConf.Create(const FileName: string); begin inherited create; FMemoInhalt := TStringList.Create; end; destructor TAppConf.Destroy; begin FreeAndNil(FMemoInhalt); inherited; end;
Delphi-Quellcode:
Tha scheint zu stimmen, FMemoInhalt ist nil.
private
FMemoInhalt: TStringList; published constructor Create(const FileName: string); overload; destructor Destroy; override; property MemoInhalt: TStringList read FMemoInhalt write FMemoInhalt; |
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Hi,
Änder mal deine Klasse so ab:
Delphi-Quellcode:
und in GetMemoText udn SetMemoText gibts Du den Inhalt von FMemoInhalt zurück bzw. setzt diesen
type
TAppConf = class(TPersistent) private FFileName: string; FTestPropName: string; FTestPropType: TTemplateType; FMemoInhalt: TStringList; public constructor Create(const FileName: string); overload; destructor Destroy; override; procedure LoadConf(const Filename: string); procedure SaveConf(const Filename: string); property MemoInhalt: TStringList read FMemoInhalt; published property TestPropName: string read FTestPropName write FTestPropName; property TestType: TTestType read FTestType write FTestType; property Filename: string read FFilename write FFilename; property MemoText: String read GetMemoText write SetMemoText; end; Welche Delphiversion verwendest Du? Grüße |
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Zitat:
|
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Delphi-Quellcode:
einmal lesen, einmal schreiben....
procedure SetMemoText(Value: String);
begin FMemoInhalt.Text := Value; end; function GetMemotext: String; begin result := FMemoInhalt.Text; end; |
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Zitat:
|
AW: OmniXML TOmniXMLReader / TOmniXMLWriter
Du rufst den falschen Konstruktor in Deinem Code auf.
Du erstellst das Objekt nur im constructor Create(String). In Deinem Code rufst Du aber Create() auf. Das lädt nur den Konstruktor der Parent-Klasse. Dort wird nix erstellt. Änder Deinen Code ab, sodass auch im Create die StringList erzeugt wird, z.B. über eine Helfer-Methode. Alternativ kannst Du auch Deinen Konstruktur-Aufruf ändern. Dann läufts ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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