Avatar billede Slettet bruger
30. december 2002 - 19:26 Der er 16 kommentarer

Gem form i resourcefil

Hej

Jeg sidder med en MDIform og nogle MDIChilds. Jeg har meget brug for en stump kode til at gemme formen (lissom en .dfm-fil, bare i runtime med alle runtime-ændringer), altså alle paneler buttons, properties osv. i en fil. Nu har jeg også en button til at åbne filen, og der skal jeg selvfølgelig kunne create en MDIChild med de oplysninger, der ligger i den før gemte fil. Jeg fik at vide hvordan at jeg kunne gemme den i en resource-fil, og nu stiller jeg et nyt spørgsmål. Hvordan kan jeg gemme det i en resourcefil og åbne det igen ?

/Mikkel
Avatar billede dkn Nybegynder
30. december 2002 - 19:51 #1
må vi se hvordan du gemmer den i en resource-fil ?
Avatar billede Slettet bruger
30. december 2002 - 19:59 #2
Ja, det er jo det jeg spørger om, så det ved jeg ikke ?? Se spørgsmål: http://exp.dk/spm/299096
Avatar billede dkn Nybegynder
30. december 2002 - 20:34 #3
nå ok du fik til at lyde som om du vidste det "Jeg fik at vide hvordan at jeg kunne gemme den i en resource-fil, og nu stiller jeg et nyt spørgsmål."
Avatar billede Slettet bruger
30. december 2002 - 20:53 #4
nåh... det var vist ikke meningen at "hvordan" skulle være der, så havde sætningen set anderledes ud. Sorry.
Avatar billede borrisholt Novice
31. december 2002 - 13:16 #5
Brug SaveComponentRes
Avatar billede Slettet bruger
31. december 2002 - 13:40 #6
hvordan skal jeg bruge savecomponentres, den står ikke i hjælpen ?
Avatar billede borrisholt Novice
02. januar 2003 - 08:13 #7
Avatar billede Slettet bruger
02. januar 2003 - 20:15 #8
tak for hjælpen, men hvordan kan jeg få readcomponentresfile til at create en ny MDIChild magen til den gemte? Problemet ligger i at jeg ikke ved hvordan jeg creater en ny MDIChild med de informationer jeg har gemt og ligger i en fil og åbner med readcomponentresfile.
Avatar billede borrisholt Novice
03. januar 2003 - 07:04 #9
Jammen du oprettet en ny MDI child, og kalder ReadComponentres

Jens B
Avatar billede Slettet bruger
03. januar 2003 - 14:29 #10
Ja, det kan jeg godt, men problemet er bare at når jeg creater MDIFormen fra min FrameForm er det ikke alle properties man får med, altså det er som om den enten ikke har gemt alle informationer om componenten eller den ikke henter alle properties. Fx ikke events på panelet, som onMouseMove og heller ikke navnet på formen, det er efter jeg har kaldt ReadComponentResFile stadig det navn jeg gav den da jeg createde den. Jeg har været nødsaget til at lave lidt ændringer:

constructor TMDIChild.Create(AOwner: TComponent);
begin
  if (FileExists(Rammeform.OpenDialog.FileName)) and (Rammeform.OpenCommand = True) then
  begin
    try
    begin
    inherited CreateNew(AOwner) ;
    ReadComponentResFile(Rammeform.OpenDialog.FileName, self) ;
    FormCreate(self);
    end
    except
    begin
    showmessage('Filen er ugyldig. Åbning afbrudt.');
    end;
  end
  end
  else
  begin
    showmessage('Filen findes ikke. Åbning afbrudt.');
    Self.Destroy;
    end;
end;

Blandt andet ville den ikke godtage: Self.Visible := False, da en MDIChild ikke kan bruge visible propertien.

Hvad skal jeg gøre ?

/Mikkel
Avatar billede borrisholt Novice
03. januar 2003 - 14:36 #11
send mig lige dit projekt ...
Avatar billede Slettet bruger
03. januar 2003 - 14:42 #12
ogger. E-mail ?
Avatar billede borrisholt Novice
03. januar 2003 - 14:53 #13
Jens@Borrisholt.com
Avatar billede Slettet bruger
03. januar 2003 - 15:46 #14
sendt.
Avatar billede Slettet bruger
04. januar 2003 - 15:18 #15
jeg har da sendt den til den rigtige adresse har jeg ikke ?
Avatar billede Slettet bruger
07. januar 2003 - 22:39 #16
finder du ud af noget ??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester