AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Exception "Eigenschaft existiert nicht" lösen?
Thema durchsuchen
Ansicht
Themen-Optionen

Exception "Eigenschaft existiert nicht" lösen?

Ein Thema von Schucki · begonnen am 17. Aug 2023 · letzter Beitrag vom 6. Sep 2023
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 18. Aug 2023, 08:56
DoubleBuffered wird in TWinControl als public deklariert und, soweit ich das aktuell nachsehen kann, im TAdvMemo schon seit vielen Jahren nicht published überschrieben. Ich gehe davon aus, dass das auch vorher nicht der Fall war. Aus diesem Grund taucht es im Object Inspector nicht auf und wird beim Einlesen aus der DFM auch nicht gefunden. In deine DFM kann es eigentlich nur dann gekommen sein, wenn es vorher mit einer modifizierten TAdvMemo Instanz gespeichert wurde. Dazu gehört aber eigentlich auch noch ein Eintrag für ParentDoubleBuffered.

Was nun genau bei dir schief läuft können wir mangels ausreichender Informationen und Überprüfungsmöglichkeiten nur raten.

Folgendes kannst du probieren: Lösch den Eintrag (bzw. beide) aus der DFM mit einem externen Editor (nicht mit der IDE). Öffne dann das Form in der IDE und wechsle in die Textdarstellung. Taucht es dann wieder auf, liegt es an dem in deinem System installierten TAdvMemo.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#2

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 18. Aug 2023, 11:49
Der Compiler kann Dependency-Infos ausgeben.
https://docwiki.embarcadero.com/RADS...ncy_File_(*.d)
In der .D-Datei steht drin, was wirklich kompiliert/gelinkt wurde, alle DCPs und DCUs.
(hab grade vergessen welche Projektoption das war, aber da ich grade lese dass dies eigentlich von für C++ ist, dann vermutlich in jenem Tab)

Oder in die .MAP-Datei schauen.
https://docwiki.embarcadero.com/RADS...le_Types_Index

Unter Menü > Hilfe > Info über ... > Versionsinfo-Knopf sieht man, welche DLLs und Packages im Delphi geladen sind, und vor allem von wo.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 18. Aug 2023, 21:24
Ich bedanke mich für alle Tips und Hinweise sowie Lösungsvorschläge!

Ich werde es durcharbeiten...

Wenn ich die DFM Datei mit einem externen Editor bearbeiten möchte, welchen könnt ihr da empfehlen?

Denn mit dem Windowseigenen sieht es so aus das irgendwelche Steuerzeichen drin sindindenZeilen, dass wird doch sicher nur schief gehen.

Gruß Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#4

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 18. Aug 2023, 22:26
Hast du die DFM noch nicht im Textformat? Das sollte normaler Text sein. Das kann man irgendwo umstellen, ich glaube im Kontextmenü des Formulardesigners.

Wenn es dann eine einfache Textdatei ist, sollte es mit dem Windows Notepad genauso gehen wie z.B. mit Notepad++, das sehr gut ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#5

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 18. Aug 2023, 23:29
Jupp, DFMs aus alten Delphis werden nicht automatisch auf Text umgestellt, welches inzwischen die DefaultEinstellung ist (für neu erstellte Forms).

Ansonsten lässt es sich auch manuell übersetzen, wenn es innerhalb des Designers knallt.
siehe System.Classes
Delphi-Quellcode:
{ Object conversion routines }

type
  TStreamOriginalFormat = (sofUnknown, sofBinary, sofText, sofUTF8Text);

procedure ObjectBinaryToText(const Input, Output: TStream); overload;
procedure ObjectBinaryToText(const Input, Output: TStream;
  var OriginalFormat: TStreamOriginalFormat); overload;
procedure ObjectTextToBinary(const Input, Output: TStream); overload;
procedure ObjectTextToBinary(const Input, Output: TStream;
  var OriginalFormat: TStreamOriginalFormat); overload;

procedure ObjectResourceToText(const Input, Output: TStream); overload;
procedure ObjectResourceToText(const Input, Output: TStream;
  var OriginalFormat: TStreamOriginalFormat); overload;
procedure ObjectTextToResource(const Input, Output: TStream; const Name: string = ''); overload;
procedure ObjectTextToResource(const Input, Output: TStream;
  var OriginalFormat: TStreamOriginalFormat; const Name: string = ''); overload;

function TestStreamFormat(const Stream: TStream): TStreamOriginalFormat;
TReader und TWriter sind zu grundeliegenden Datenklassen (für's binäre Format)
DFM heute als Text, aber im kompilierten Programm immernoch Binär und geladen wird am Ende auch das Binäre.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.686 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 19. Aug 2023, 06:43
... und dann gibt es noch das convert-Utility, im bin-Verzeichnis von Delphi, welches binäre dfms in Text und Text-dfms in binäre umwandeln kann.

Achtung: Es gibt auch ein convert in Windows\system32, das FAT nach NTFS konvertiert.
Thomas Mueller
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Exception "Eigenschaft existiert nicht" lösen?

  Alt 1. Sep 2023, 11:47
Hallo und danke für Eure Antworten!

Ich bin nach einer gesundheitlichen Zwangspause wieder an dem Problem dran.

Die DFM ist im Textformat doch am Ende der Zeilen sind zwei Steuerzeichen zu sehen. Könnte sein das es ein Linux Format am Zeilenende ist.

Ich habe mir in der Zwischenzeit mal die Versionsinfo genauer angesehen. Da sieht es auf dem ersten Blick gut aus! Aber es ist ja wirklich irre was alles geladen wird!

Das Problem besteht nach wie vor!

Nun habe ich mir die Suchpfade in den Projekteinstellungen angesehen und da gibt es ein Punkt der nicht passt!

Es gibt Projektbezogene Suchpfade, da waren zwei Pfade drin die auf die alte Installation des Package zeigen. Die habe ich entfernt.

Leider gibt es in der unteren Box weitere Pfade die "vererbt" wurden.

Von wo wurden die "geerbt", wo stellt man das ein, wo muss ich da suchen?

Ich denke bevor ich diese Referenzen nicht entferne, bringt das editieren der DFM nichts.

Gruß Frank
Frank
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:51 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-2025 by Thomas Breitkreuz