Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi PageControl fehler bei ReadComponentRes (https://www.delphipraxis.net/24612-pagecontrol-fehler-bei-readcomponentres.html)

No Voices 23. Jun 2004 15:32


PageControl fehler bei ReadComponentRes
 
Und ich mal wieder.

kann jemand mit der folgenden Meldung was anfangen?

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt NVDTA.exe ist eine Exception der Klasse EClassNotFound aufgetreten. Meldung: 'Klasse TTabSheet nicht gefunden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------

Nun, ich habe eine Form auf der eine PageControl1 liegt. Ich kann zur Laufzeit Tabsheet’s erzeugen und löschen. Auf jeder Page ist noch eine ShellListView die auf eine festen Ordner verwiest. Wenn ich also nun „Richtig mühevoll“ mir eine neue Page erstelle (per RechtsKlick), will ich natürlich das er denn zustand beim schließen des Progs speichert und beim starten wieder Lädt.

Das Speichern scheint zu gehen. Zumindest entsteht eine Datei wo auch die Reihenfolge der Tabs gespeichert wird.

Nur das laden nicht, da kommt halt diese Meldung.

Im Anschluß noch mein Code zur Fehlersuche und Änderung. DANKE!


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
fs := TFileStream.Create(ProgPath + 'NV-DesktopTool-A.ini', FmCreate or FmShareDenyWrite);
try
fs.WriteComponentRes(PageControl1.Name, PageControl1)
finally
fs.free;
end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
if FileExists(ProgPath + 'NV-DesktopTool-A.ini') then
Begin
fs := TFileStream.Create(ProgPath + 'NV-DesktopTool-A.ini', FmOpenRead or FmShareDenyNone);
try
fs.ReadComponentRes(PageControl1);
finally
fs.free;
end;
end;
end;

ibp 23. Jun 2004 22:38

Re: PageControl fehler bei ReadComponentRes
 
.. nutze delphi tags!

so schreibst du

Delphi-Quellcode:
fs.WriteComponentRes(PageControl1.Name, PageControl1)
solltest du dann auch nicht so lesen ?


Delphi-Quellcode:
s.ReadComponentRes(PageControl1.Name, PageControl1);

No Voices 24. Jun 2004 14:36

Re: PageControl fehler bei ReadComponentRes
 
Ja Netter Gedanke, hatte ich auch schon. Hast Du es getestet? Ich bin auch auf die idee gekommen und hatte dann "zu viele parameter". Zu beachten ist ja das er den ganzen inhalt der Pagecontrol speicern soll. Egal was und wieviel darauf ist. Kennst Du ne ganz andere Lösung oder jemand anders? :gruebel:

No Voices 28. Jun 2004 10:08

Re: PageControl fehler bei ReadComponentRes
 
Kann mir niemand helfen. Ich habe wirklich keine idee wie ich das mit den TabSheet's machen soll. Muß ich die dann auch irgendwie Createn, Sozusagen eine Stringlist wo er die Titel der Tabsheets speichert und dann beim starten die liste abarbeiten und jeden einzelnen sheet erzeugen?

Warum geht das nicht hin ??? :wall: :wall: :twisted:

MrKnogge 28. Jun 2004 10:13

Re: PageControl fehler bei ReadComponentRes
 
Die Tabshetts, müsstest du speichern/laden können wie dein PageControl.

No Voices 28. Jun 2004 10:19

Re: PageControl fehler bei ReadComponentRes
 
Kann ich nicht alles zusammen speichern? Muß das alles einzel sein?

MrKnogge 28. Jun 2004 10:23

Re: PageControl fehler bei ReadComponentRes
 
da es einzelne Componennten sind, muss es wohl einzelnd sein.

ibp 28. Jun 2004 10:27

Re: PageControl fehler bei ReadComponentRes
 
wie wäre es mit einem array of ...

Stevie 28. Jun 2004 10:33

Re: PageControl fehler bei ReadComponentRes
 
Wenn man sich die Datei anguckt, die gespeichert wird, sieht man doch, dass auch die Tabsheets gespeichert werden.
So ungefähr (in dfm-Form):
Delphi-Quellcode:
object PageControl1: TPageControl
  Left = 8
  Top = 8
  Width = 289
  Height = 193
  ActivePage = TabSheet1
  TabIndex = 0
  TabOrder = 0
  object TabSheet1: TTabSheet
    Caption = 'TabSheet1'
  end
  object TabSheet2: TTabSheet
    Caption = 'TabSheet2'
    ImageIndex = 1
  end
end
Und beim Lesen der Tabsheets gibt's ein Problem.

No Voices 28. Jun 2004 10:36

Re: PageControl fehler bei ReadComponentRes
 
Das wenn ich ein z.B. 2 Button auf einer Form habe, das ich dann beide button einzel speichern muß kann ich mir denken. Ich dachte nur wenn ich das PageControl speicher, Speichert er alles was da drauf ist. Ist das nicht der fall? Ich weis doch beim schreiben garnicht wieviele TabSheet's hinterher drauf sind. Wie soll ich das den machen??? :wiejetzt:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 Uhr.
Seite 1 von 2  1 2      

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