Stellt Delphi manchmal Textformdateien (DFM) in das Binärformat zurück?

8

Unser Delphi 7-Entwicklungsteam speichert Formulardateien (dfm) im Textmodus und verwendet ein Quellcodeverwaltungssystem (Subversion), um Änderungen zu verfolgen.

Manchmal haben wir festgestellt, dass eine Formulardatei zwischen Revisionen in das Binärformat zurückkehrt, was dazu führt, dass Diff-Tools wie TortoiseMerge sich beschweren.

Unter Verwendung des Subversion-Änderungsprotokolls kann ich sehen, dass die DFM-Datei zuvor in Textform gespeichert wurde. Die Softwareentwickler ändern das Speicherdateiformat nie manuell in binär.

Sind Sie auf dasselbe gestoßen? Ist es ein bekanntes Problem?

    
mjn 09.05.2009, 07:41
quelle

8 Antworten

4

Ich habe es in Delphi 7 gesehen, als ein Formular, das von einem anderen Formular aus einem anderen Projekt erbt, in Delphi eigenständig geöffnet wurde, ohne dass das Projekt geöffnet war.

    
Lars Truijens 09.05.2009, 15:33
quelle
11

Dies geschieht in Delphi 7, ist aber in späteren Versionen behoben. Normalerweise greifen Sie auf Formulare in der IDE zu, indem Sie die .pas-Datei öffnen und dann zur Formularansicht wechseln. Klicken Sie mit der rechten Maustaste auf Ihr Formular und es wird angezeigt, dass "Text DFM" markiert ist, wenn Sie dies zuvor getan haben.

Sie werden das beschriebene Problem eines DFM-Textaustauschs zu einem binären DFM feststellen, wenn Sie in der Delphi 7-IDE die .dfm-Datei direkt öffnen. z.B. Datei- & gt; Öffnen- & gt; Somefile.dfm .. Rechtsklick auf die dfm und wählen Sie "Als Formular anzeigen". Klicken Sie nun mit der rechten Maustaste auf das Formular. Sie werden sehen, dass der "Text DFM" nicht markiert ist.

Wir hatten das Problem, als wir einen DFM öffneten, der ein Grep-Suchergebnis war. Es hat uns auch verblüfft, und würde Korruption in der DFM in CVS verursachen, wie es als Text eingecheckt wurde.

    
Jared Davison 20.10.2010 03:47
quelle
4

Das passiert manchmal, wenn die IDE verwirrt wird.

Es beginnt normalerweise, nachdem Sie eine Zugriffsverletzung in der Delphi 7 IDE bekommen haben.

Manchmal wird auch einer oder mehrere Ihrer Delphi-Editor-Puffer in der IDE schreibgeschützt (während die Dateien auf der Festplatte noch gelesen / geschrieben werden).

Das Verhalten tritt viel weniger auf als in Delphi 5 oder 6, aber manchmal tritt es in Delphi 7 auf.

Das Beste, was Sie tun können, ist, die Delphi 7 IDE neu zu starten, sobald Sie eine Zugriffsverletzung erhalten.

    
Jeroen Wiert Pluimers 11.05.2009 00:04
quelle
2

Wenn jemand das Projekt mit einer anderen Version von Delphi geöffnet hat (oder die Standardeinstellungen geändert hat), kann er die Formulare in einem anderen Format speichern.

    
Francis 09.05.2009 08:21
quelle
2

Nein, ich habe noch nie zuvor davon gehört (oder gehört). Wir haben hunderte von .DFMs in ein paar Dutzend Apps, und das ist nur passiert, wenn ein Idiot aus Versehen mit der rechten Maustaste auf ein Formular klickt und 'Text DFM' im Kontextmenü deaktiviert.

    
Ken White 09.05.2009 13:08
quelle
1

Wir haben das sicherlich schon erlebt. Wir verwenden ausschließlich D7.

Ich bin nie auf den Grund gegangen, weil es nur ein halbes Dutzend Mal pro Jahr oder so passiert, und obwohl es ein Ärgernis ist, ist es ziemlich leicht zu beheben.

Ich war daran interessiert, Lars 'Antwort zu sehen, und werde sicherlich schauen, ob das beim nächsten Mal eine mögliche Ursache ist.

    
RichardS 09.05.2009 20:56
quelle
1

Sie könnten daran interessiert sein, die Verwendung von Beyond Compare anstelle des integrierten Merge-Tools von TortoiseSVN zu untersuchen. Beyond Compare ist in Delphi geschrieben und kann nativ die binären DFMs lesen. Das bedeutet, dass es weniger problematisch (oder gar kein Problem) wird, ob Ihre DFMs in Subversion in Binär- oder Textform gespeichert sind. Beyond Compare V3 führt auch 3-Wege-Merging durch, was es sehr einfach macht, mehrere Commits zu verschmelzen. Auch wenn es die Fähigkeit, binäre DFMs zu differieren, ignoriert, ist es immer noch ein viel besserer Diff-Viewer als TortoiseSVNs eingebaute Tools. Ich kann es sehr empfehlen, und es ist sehr günstig (ich habe keine Verbindung mit Scooter Software, abgesehen davon, dass ich ein sehr zufriedener Kunde bin).

Scooter-Software

    
Conor Boyd 10.05.2009 21:06
quelle
1

Wir haben dieses Problem auch von Zeit zu Zeit, und es scheint damit zu tun, dass wir die Quelle des DFM (Alt-F12) betrachten und dann eine Visual Source Safe-Operation (z. B. einchecken) durchführen.

    
marius 17.05.2009 05:40
quelle

Tags und Links