Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi OmniXML TOmniXMLReader / TOmniXMLWriter (https://www.delphipraxis.net/170278-omnixml-tomnixmlreader-tomnixmlwriter.html)

Adrenalin 9. Sep 2012 19:34

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Zitat:

Zitat von mirage228 (Beitrag 1182230)
Und wenn Du mit Lines.Assign() arbeitest?

Delphi-Quellcode:
Memo1.Liens.Assign(Conf.MemoInhalt);

Knallts ebenfalls schon probiert

Lemmy 9. Sep 2012 19:36

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...

Adrenalin 9. Sep 2012 19:49

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Zitat:

Zitat von Lemmy (Beitrag 1182234)
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...

Ich hoffe ich habs richtig gemacht aber so wirklich schlau, werd ich daraus auch nicht weil initialisiert ist die Stringliste laut Debuggger weiss jetzt auch nicht mehr weiter:oops:

Lemmy 9. Sep 2012 19:55

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
mach mal vor das

Delphi-Quellcode:
Memo1.Lines.Text := Conf.MemoInhalt.Text;
das hier:

Delphi-Quellcode:
  ShowMessage(Memo1.Name);
  ShowMessage(Conf.ClassName);
  ShowMessage(Conf.Memoinhalt.ClassName);
wo kommt die Fehlermeldung?

Adrenalin 9. Sep 2012 20:05

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Zitat:

Zitat von Lemmy (Beitrag 1182245)
mach mal vor das

Delphi-Quellcode:
Memo1.Lines.Text := Conf.MemoInhalt.Text;
das hier:

Delphi-Quellcode:
  ShowMessage(Memo1.Name);
  ShowMessage(Conf.ClassName);
  ShowMessage(Conf.Memoinhalt.ClassName);
wo kommt die Fehlermeldung?

Ich glaub nun wirds ganz komisch weil es Knallt in der Zeile:

Delphi-Quellcode:
ShowMessage(Conf.Memoinhalt.ClassName);
Also doch wieder nicht Initialisiert bzw Nil?

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:
  private
    FMemoInhalt: TStringList;

  published
     constructor Create(const FileName: string); overload;
     destructor Destroy; override;
     property MemoInhalt: TStringList read FMemoInhalt write FMemoInhalt;
Tha scheint zu stimmen, FMemoInhalt ist nil.

Lemmy 9. Sep 2012 20:13

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Hi,

Änder mal deine Klasse so ab:

Delphi-Quellcode:
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;
und in GetMemoText udn SetMemoText gibts Du den Inhalt von FMemoInhalt zurück bzw. setzt diesen

Welche Delphiversion verwendest Du?

Grüße

Adrenalin 9. Sep 2012 20:19

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Zitat:

Zitat von Lemmy (Beitrag 1182251)
Hi,

Änder mal deine Klasse so ab:

Delphi-Quellcode:
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;
und in GetMemoText udn SetMemoText gibts Du den Inhalt von FMemoInhalt zurück bzw. setzt diesen

Welche Delphiversion verwendest Du?

Grüße

Wie in beiden?

Lemmy 9. Sep 2012 20:29

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Delphi-Quellcode:
procedure SetMemoText(Value: String);
begin
  FMemoInhalt.Text := Value;
end;

function GetMemotext: String;
begin
  result := FMemoInhalt.Text;
end;
einmal lesen, einmal schreiben....

Adrenalin 9. Sep 2012 20:39

AW: OmniXML TOmniXMLReader / TOmniXMLWriter
 
Zitat:

Zitat von Lemmy (Beitrag 1182254)
Delphi-Quellcode:
procedure SetMemoText(Value: String);
begin
  FMemoInhalt.Text := Value;
end;

function GetMemotext: String;
begin
  result := FMemoInhalt.Text;
end;
einmal lesen, einmal schreiben....

:?Gleicher Fehler also nil

mirage228 9. Sep 2012 20:40

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.
Seite 2 von 3     12 3      

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