Can't open resource file Main_Unit.dfm

Für Fragen rund um die Ide und zum Debugger
Antworten
Benutzeravatar
photor
Beiträge: 443
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Can't open resource file Main_Unit.dfm

Beitrag von photor »

Hallo Forum,

ich stehe gerade auf dem Schlauch; vielleicht kann mir ja hier jemand helfen, da runter zu steigen.

Ich habe ein Projekt von Delphi konvertiert - und das lieft auch schon.

Nun habe ich wohl den Fehler gemacht
  • noch ein paar Dateien am Delphi-Code zu ändern
  • im Lazarus mein GUI-MainForm zu ändern.
Es kann also sein, dass die GUI-Elemente nicht mehr genau zum Code passen; das wollte ich nun anpassen.

Beim Probe-Compilieren bekomme ich aber die Meldung "Error: can't open resource file "....BLAH.dfm" nicht öffnen".

Richtig ist, dass ich das DFM gelöscht habe - war aber der Meinung, dass das nach Lazarus convertierte Projekt die Datei nicht braucht (weil die Info sollte doch in der .lfm-Datei stehen).

Bevor ich nun ein neues (Lazarus-)Projekt von Grund auf neu aufsetze und das GUI dann nachbaue, frage ich hier mal nach:
  • wo wird dieses .dfm-File gebraucht
  • wie kann ich ihm das abgewöhnen

Wenn noch Infos gebraucht werden (und man mir sagt, wo ich die finde), liefere ich die gerne nach.

Ciao,
Photor


PS: ich entschuldige mich schon mal; ich denke, es ist was sehr einfaches.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Can't open resource file Main_Unit.dfm

Beitrag von af0815 »

Im Pascal Quelltext im File gibt ein laden von dfm/lfm. Kontrolliere mal den Eintrag. Kann sein, das der noch auf dem dfm steht statt auf dem lfm.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Can't open resource file Main_Unit.dfm

Beitrag von wp_xyz »

Beim Konvertieren von Delphi zu Lazarus solltest du NIE die Original-Delphi-Dateien löschen, denn es kann immer wieder sein, dass du sie noch brauchst. Aber lasse sie in einem eigenen Ordner.

Wenn du das konvertierte Projekt nie mehr in Delphi laden möchtest, benenne die dfm-Datei in lfm um und ändere in der zugehörigen pas-Datei den Eintrag {$R *.dfm} zu {$R *.lfm}. Du kannst aber auch mit der .dfm-Datei und dem alten {$R}-Eintrag weiterarbeiten, nur finde ich man sollte der Datei schon ansehen, dass ihr Inhalt evtl nicht mehr mit Delphi kompatibel sind.

Wenn das konvertierte Projekt auch noch unter Delphi nutzbar sein soll. kopiere die dfm-Datei und benenne die Kopie zu lfm um. Das {$R *.dfm} ersetzt du dann durch {$IFDEF FPC}{$R *.lfm}{$ELSE}{$ENDIF}. So bleiben die teilweise inkompatiblen Properties von Delphi und Lazarus getrennt.

Benutzeravatar
photor
Beiträge: 443
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Can't open resource file Main_Unit.dfm

Beitrag von photor »

Hallo,

danke für die Hinweise. ich werde mal in die .pas-Dateien reinschauen - und ich denke, auch die Einträge finden.

Ich war halt der Meinung, dass ich die dfm-Datei nicht mehr brauche, weil sie ich ja explizit mitkonvertiert hatte und eine lfm entstanden war (und da ich am GUI rumgeummelt habe, wird die eh nicht mehr passen - so dachte ich). Ok, was gelernt; Danke dafür.

Eigentlich will ich das Projekt nicht mehr direkt zu Delphi zurückportieren (es ist dazu gedacht, hier einzelne Dinge auszuprobieren, was dann vielleicht zurück fließen kann).

Ciao,
Photor

PS: soo schnell hatte ich jetzt gar nicht mit Antwort gerechnet. Ihr seid echt flott hier.

Antworten