| Autor |
Beitrag |
Gagamba
      
Beiträge: 46
|
Verfasst: Fr 06.02.09 11:50
Hallo, folgendes Problem (DELPHI 7):
nach Umsteigen auf die neuere Version einer VCL blieben in der *.dfm-Datei einige nicht mehr benötigte Eigenschaften stehen, die IDE/der Compiler merkte nichts. Erst zur Laufzeit traten dann merkwürdige Fehler auf, das betreffende Formular konnte nicht geöffnet werden. Gibt es die Möglichkeit, der Anwendung mitzuteilen (irgendeine Compilerdirektive oder sowas), dass ungültige Eigenschaftswerte in dfm-Dateien lediglich IGNORIERT werden sollen, statt gleich Laufzeitfehler (echte Abstürze!) auszulösen?
Danke!
Moderiert von Narses: Beitragsformatierung überarbeitet.
|
|
Bernhard Geyer
      
Beiträge: 721
Erhaltene Danke: 3
|
Verfasst: Fr 06.02.09 11:56
1, Du mußt die neue 3th-Party VCL in der IDE registrieren
2, Du mußt alle Formulare in der IDE öffen und die fehlermeldungen dann bestätigen.
3, Speichere dann das Formular
Der Compiler kann nichts merken da die DFM's nur als ressource eingebunden werden und beim start diese interpretiert werden.
|
|
Gagamba 
      
Beiträge: 46
|
Verfasst: Fr 06.02.09 12:02
Danke für die Tipps, aber genau das möchte ich ja vermeiden:
obwohl ich das betreffenden Formular in der IDE offen hatte, kam leider eben keine Meldung, dass eine ungültige Eigenschaft vorhanden sei. Dem Compiler ist es egal, klar. Wenn man einigermassen umfangreiche Projekte hat, wird es mitunter schwierig, für alle Formulare den Überblick zu behalten, welche VCLs wo benutzt werden. Daher meine Frage nach der Möglichkeit, solche ungültig gewordenen Einträge ignorieren zu lassen statt fataler Fehler..
Danke
Moderiert von Narses: Beitragsformatierung überarbeitet.
|
|
Bernhard Geyer
      
Beiträge: 721
Erhaltene Danke: 3
|
Verfasst: Fr 06.02.09 12:08
|
|
Gagamba 
      
Beiträge: 46
|
Verfasst: Fr 06.02.09 12:33
alles gut und schön: aber man weiss ja gar nicht, wenn bei einem VCL-Update solche Fälle auftreten!
try and error?
langer Rede kurzer Sinn: es scheint KEINE Möglichkeit zu geben, das Laufzeitverhalten so zu beeinflussen, wie ich gehofft hatte?!
Dank
Moderiert von Narses: Beitragsformatierung überarbeitet.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 06.02.09 14:43
Gagamba hat folgendes geschrieben : | langer Rede kurzer Sinn: es scheint KEINE Möglichkeit
zu geben, das Laufzeitverhalten so zu beeinflussen,
wie ich gehofft hatte?! |
Das geht nicht, nein.
Ich hatte auch noch nie das Problem, dass sich nach dem Öffnen aller Formulare und einer kleinen Veränderung (Komponente etwas hin und her verschieben oder so) die Fehler weiterhin aufgetreten sind.
Manchmal klappte trotz dem Öffnen des Formulars das danach nicht, weil Delphi keine Änderung erkannt hat und das nicht neu gespeichert hat. Deshalb habe ich dann immer eine Komponente etwas bewegt oder so, damit speichern aktiv wurde. Danach ging immer alles.
Gagamba hat folgendes geschrieben : | Erst zur Laufzeit traten dann merkwürdige Fehler auf, das betreffende
Formular konnte nicht geöffnet werden. |
Bist du sicher, dass das an fehlerhaften Einstellungen der .dfm liegt? Was für Fehler sind das denn?
|
|
Gagamba 
      
Beiträge: 46
|
Verfasst: Fr 06.02.09 19:24
ja ich bin sicher,
die Laufzeitfehlermeldungen hab ich nicht mitprotokolliert, es waren 'unbekannte Softwarefehler'. nachdem sie aufgetreten waren, habe ich nur anhand des debuggers herauskriegen können, dass es sich um lesefehler unbekannter eigenschaften handelt, die aus mir unerfindlichen Gründen in einer dfm-Datei stehengeblieben waren. nachdem ich sie manuell entfernt hatte, ging es wieder. war aber eine heidenaufregung zunächst, bis der Fehler lokalisiert war.
m.E. sollten 'ungültige eigenschaften' ignoriert werden können, das täte keinem weh...
Moderiert von Narses: Beitragsformatierung überarbeitet.
|
|
|