AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Problem mit Speicherbezeichner "default" bei Properties
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Speicherbezeichner "default" bei Properties

Ein Thema von skyobserver · begonnen am 18. Jul 2007 · letzter Beitrag vom 23. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Problem mit Speicherbezeichner "default" bei Prope

  Alt 18. Jul 2007, 13:55
Hallo zusammen!

Ich habe ein Problem mit den Properties meines TTestForm welches ich von TForm abgeleitet habe:
Es gibt eine published Property "Test" (Boolean). Diese Property soll beim ersten Erstellen einen Default
Wert "True" bekommen und fortan den im OI eingestellten Wert speichern. Weiterhin sollte der OI anzeigen
ob im Moment der Wert auf standard bzw. nicht standard (Schrift normal bzw. fett) steht.

Wenn ich bei der Deklaration der Property "default True" angebe und im Constructor "FTest := True;"
setze wird nur zur Laufzeit die Einstellung von "Test" anscheinen nicht mehr geladen. Zur Designzeit ist
aber immer der richtige zuletzt gewählte Wert im OI zu sehen.
Ohne "default True" und "FTest := True" klappt es (allerdings ist dann immer "False" Vorgabe).


Hat Jemand eine Idee was ich falsch mache?


Das Form "TestFormObjRep" wird der Objektablage hinzugefügt und dann hinterher mit "kopieren" ins Projekt eingebunden

Hier ist mein TestPackage:
Angehängte Dateien
Dateityp: zip testpackage_536.zip (9,8 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 01:05
Keiner eine Idee?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 02:26
Zitat von skyobserver:
Ich habe ein Problem mit den Properties meines TTestForm welches ich von TForm abgeleitet habe:
Du gehörst zumindest zu dem 1 % der Leute, die wissen oder zumindest ahnen, wie mächtig die Objektablgae ist. Properties für Forms gehören aber leider nicht in diesen Kontext. Das passt nicht. Forms geniessen eine Sonderstellung.
Gruß
Hansa
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 10:52
1. TestForm fehlt die DFM (die braucht er immer!)
2. TestFormObjRep ist nicht richtig abgeleitet! Es steht kein "inherited" sondern noch "object" im DFM file. Kann mit 1. zusammen hängen.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 12:07
Zitat von skyobserver:
Hat Jemand eine Idee was ich falsch mache?
Hab mir das Package noch nicht angesehen aber meine spontane Idee war: Hast du schon mal versucht die Initialisierung in der Methode "Loaded" (überschreiben und vorher inherited aufrufen) zu machen?

Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 13:27
@Muetze1: Danke, werde ich am Abend mal testen

@Alfi001: Zuerst dachte ich auch das Problem wäre der Zeitpunkt wann ich die
Property abfrage (habe daher schon versucht "Loaded" zu überschreiben).

Wenn ich einen Button auf das Form setze und bei "ButtonClick" in Abhängigkeit von "Test" ein
ShowMessage('True' bzw. 'False') ausgebe müßte die Property auf jeden Fall geladen sein bevor
ich den Button anklicken kann - aber genau das klappt schon nicht.

-Ich öffne das Projekt in Delhi und im OI ist der richtige Wert gesetzt!
-Ich starte das Projekt und klicke den Button und die Property ist falsch gesetzt!!

Dieser Fehler tritt nicht auf, wenn ich "default True" und "FTest := True" im constructor entferne!!!

Diesen Zusammenhang verstehe ich nicht

Ich habe entweder meine geänderte Property (aber keinen Default beim ersten Erstellen)
oder meinen Default beim ersten Erstellen (aber keine geänderte Property)

Ich weigere mich zu glauben, daß nicht beides gleichzeitig gehen soll gggggrrrrrrrr...
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#7

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 13:36
Spannender ist die Frage, wann die Property im constructor gesetzt wird, und wann sie aus der Resourcendatei geladen wird.

Ich würde dir empfehlen, dass FTest:=true vor das inherited zu setzen. Es ist nämlich wahrscheinlich, dass im inherited Create auch die Eigenschaften gelesen werden
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 16:13
JAWOHL DAS IST ES!!!

"FTest := True" muß vor dem "inherited Create" stehen!

Das Ganze erscheint mir auch irgendwie unglaublich logisch...

Und ich war mir sicher das schon versucht zu haben...

Habe wohl beim vielen Testen den Überblick verloren...

@Hansa: Sorry! Das geht einwandfrei!

Danke für alle Hinweise!

Mein Glaube an Delphi wurde erneuert - mein Leben hat wieder einen Sinn!

Also hier das ganze nochmal als Download so wie es richtig ist!

1. Package compilieren
2. Package installieren
3. TestFormObjRep Form mit rechts anklicken und "Der Objektablage hinzufügen"
4. Neues Projekt erstellen
5. Datei-> Neu -> Weitere -> TestForm (kopieren) -> OK
Angehängte Dateien
Dateityp: zip testpackage_891.zip (9,8 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 18:02
Zitat von jim_raynor:
Ich würde dir empfehlen, dass FTest:=true vor das inherited zu setzen. Es ist nämlich wahrscheinlich, dass im inherited Create auch die Eigenschaften gelesen werden
Aber doch nur die Eigenschaften der Vererbungsvorfahren. Das macht überhaupt keinen Unterschied. Grundlegend gibt es keine Probleme mit solchen Vererbungen.

@skyobserver: Meine beiden Anmerkungen mal umgesetzt und alleinig ausprobiert (mit Hinzunehmen deiner im obigen Download auskommentierten Anweisungen)? Das alleine sollte richtig klappen und benötigt kein setzen der Eigenschaft vor inherited Create (noch nie benötigt oder gemacht)
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#10

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 20. Jul 2007, 18:49
Zitat von Muetze1:
Aber doch nur die Eigenschaften der Vererbungsvorfahren. Das macht überhaupt keinen Unterschied. Grundlegend gibt es keine Probleme mit solchen Vererbungen.
Na dann bin ich mal auf die Erklärung gespannt, warum es so funktioniert
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz