5 Stimmen

Delphi-Problem bei der gemeinsamen Nutzung von Bildlisten in Formularen

Ich habe die gemeinsame Nutzung von Bildlisten über mehrere Formulare in Delphi für Jahre jetzt. Ich habe eine TImageList auf dem Hauptformular meiner App und dann habe ich andere Formulare, die Komponenten haben, wo ich die Images-Eigenschaft auf die Bildliste aus dem Hauptformular (z. B. MyMainForm.MyImageList) zur Entwurfszeit festlegen.

Das Problem, das ich habe, ist, dass zufällig die Eigenschaft Bilder auf den Formularen gelöscht wird, die auf die Bilderliste im Hauptformular verweisen.

Dieses Problem scheint erst vor kurzem aufgetreten zu sein, aber ich konnte die genaue Ursache noch nicht ausfindig machen. Ich scheine keine Möglichkeit zu finden, das Problem beliebig zu reproduzieren; es scheint nur zufällig aufzutreten. Ich habe bemerkt, dass es genau dann passiert, wenn ein Formular geöffnet wird.

Eine Sache, die ich kürzlich in Delphi geändert habe, ist, dass ich die Funktion zum automatischen Speichern der Projektoberfläche und der Symbole aktiviert habe. Wenn ich nun das Projekt öffne, wird immer gespeichert, welche Formulare geöffnet waren. Da dieses Problem beim Öffnen eines Formulars auftritt und nun alle Formulare neu geöffnet werden, die beim letzten Öffnen des Projekts geöffnet waren, tritt es häufiger auf.

Wir haben einige Entwickler, die an diesem Projekt arbeiten, und wir verwenden SVN für die Versionskontrolle. Ein Problem, das durch die Aktivierung der Funktion "Autosave Project desktop and symbols" entstanden ist, besteht darin, dass bei einem SNV-Update des Projekts die Symboldatei ungültig werden kann (weil wir die Symboldatei nicht unter Versionskontrolle haben). Dies führt nur zu einer Fehlermeldung von Delphi, aber ansonsten scheint es harmlos zu sein. Wir kompilieren das Projekt einfach neu und die Symboldatei wird korrigiert.

Übrigens, ich verwende Delphi 7.

Wenn Sie Fragen haben oder Klarstellungen wünschen, hinterlassen Sie einen Kommentar, und ich werde die Frage aktualisieren.

0 Stimmen

Verwandte Delphi-Fehler hier: stackoverflow.com/questions/2416127/ Ich habe beide am selben Tag erhalten (als die eine erschien, erschien auch die andere).

1voto

DiGi Punkte 2500

Haben Sie mainform.pas in Ihr Projekt aufgenommen? Nicht nur als "uses mainform.pas" irgendwo in .pas, sondern als

  fMainForm in 'fMainForm.pas' {MainForm},

in Ihrer Anwendung**.dpr**. Dieser Kommentar {MainForm} ist für Delphi notwendig, um vererbte Formulare und Verknüpfungen zwischen ihnen aufzulösen.

0 Stimmen

Ich habe das Hauptformular in das Projekt aufgenommen, und es enthält den Kommentar, der für Delphi erforderlich ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X