AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi dfm resource in EXE zur laufzeit speichern->schreibgeschüt?
Thema durchsuchen
Ansicht
Themen-Optionen

dfm resource in EXE zur laufzeit speichern->schreibgeschüt?

Ein Thema von maximov · begonnen am 9. Nov 2003 · letzter Beitrag vom 10. Nov 2003
 
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: dfm resource in EXE zur laufzeit speichern->schreibge

  Alt 9. Nov 2003, 22:17
Hab die idee glatt mal getestet...und es funktioniert auch wunderbar. Der folgende code sorgt dafür, das die dfm-daten aus der dfm datei geladen wird:

Delphi-Quellcode:
constructor TForm1.Create(AOwner: TComponent);
begin
 // inherited; // <- standard initialisierung von delphi abklemmen
   GlobalNameSpace.BeginWrite;
  try
    CreateNew(AOwner);
    if (ClassType <> TForm) and not (csDesigning in ComponentState) then
    begin
      Include(FFormState, fsCreating);
      try
                                                             
        LoadCompoFromFile(self,ExtractFilePath(paramstr(0))+'fm1.dfm'); // hier wäre noch interessant den unit-namen auszulesen?
     
      finally
        Exclude(FFormState, fsCreating);
      end;
      if OldCreateOrder then DoCreate;
    end;
  finally
    GlobalNameSpace.EndWrite;
  end;
end;

...

destructor TForm1.Destroy;
begin
  SaveCompoToFile(self,ExtractFilePath(paramstr(0))+'fm1.dfm');
  inherited;
end;
...ABER das führt zu einer reihe von schwierigkeiten, da änderungen am formular nur nach expliziten speichern in der dfm-datei stehen, die dann evtl ohne diese änderungen, beim start des grogs geladen wird. Beendet man dann das prog werden die dfm-daten, ohne die änderungen, gespeichert und delphi fragt dann ob die 'neue' dfm geladen werden soll! Wenn man dann nicht tierisch aufpasst und >nein< drückt wird die arbeit zunichte gemacht. Drückt man tatsächlich nein, dann sind die änderungen, die man zur laufzeit gemacht hat futsch.

Diese methode ist zu verwirrend für den programmierer

Gibt es wirklich keine methode die resource in diese 'MemoryMappedFiles' zu schreiben? Möglicherwiese über umwege?


cu,
maximov
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 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 by Thomas Breitkreuz