![]() |
Problem bei Vererbung: Property OldCreateOrder does not exis
Liste der Anhänge anzeigen (Anzahl: 1)
also mein problem. ich habe eine klasse von TFrame abgeleitet.
Delphi-Quellcode:
und meine weiteren Frames von dieser Klasse abgeleitet
TPreferencesFrame = class(TFrame)
private public procedure LoadSettings(); virtual; procedure SaveSettings(); virtual; end;
Delphi-Quellcode:
nun bekomm ich den fehler, wenn ich den frame anzeigen will:
type
TFrameICQconnection = class(TPreferencesFrame) lblUIN: TLabel; lblPassword: TLabel; lblICQserver: TLabel; lblICQport: TLabel; edtICQport: TEdit; edtICQserver: TEdit; edtICQpassword: TEdit; edtICQuin: TEdit; chkConnectOnStartup: TCheckBox; private public procedure LoadSettings(); override; procedure SaveSettings(); override; end;
Delphi-Quellcode:
was hab ich bei der vererbung falsch gemacht/vergessen, bzw woran liegt dieses problem?
Error reading FrameICQconnection.OldCreateOrder: Property OldCreateOrder does not exist.
anbei nochmal der screenshot der fehlermeldung.. |
Re: Problem bei Vererbung: Property OldCreateOrder does not
kann das problem irgendjemand nachvollziehen?
|
Re: Problem bei Vererbung: Property OldCreateOrder does not
ok, noch einen versuch es zu pushen ^^
|
Re: Problem bei Vererbung: Property OldCreateOrder does not
Moin phXql,
ich habe es soeben mit D5 Pro, D6 PE, D7 PE und der D2005 Architect Trial ausprobiert. [EDIT] :wall: Ich sollte vielleicht erst richtig lesen. Beim Ausprobieren kam dann allerdings die Meldung, dass die Resource: TFrameICQConnection nicht gefunden werden konnte. (in jeder der oben genannten Versionen) Vielleicht hängst Du mal ein Beispielprojekt an, dass den Fehler produziert [/EDIT] |
Re: Problem bei Vererbung: Property OldCreateOrder does not
Liste der Anhänge anzeigen (Anzahl: 1)
okay, anbei mal ein beispiel-projekt. nur nun noch ein problem: delphi weigert sich, mir nen frame aufs hauptformular zu platzieren. probierts selber mal aus: ich leg nen frame auf mein Hauptfenster (Form1), wähle meinen FrameTest aus, und dann gehts nich. und wieso?? ich glaube das liegt am gleichen problem wie bei der property mit dem taborder. ich hab irgendwas mit der vererbung verbockt. nun is nur noch die frage, woran es liegt...
p.S: danke Christian, dass du dir die mühe machst und dir des mal anschaust :) |
Re: Problem bei Vererbung: Property OldCreateOrder does not
Also du öffnest den Frame und drückst ALT-F12. Dann siehst du:
Delphi-Quellcode:
Du löschst den Eintrag OldCreateOrder = True und abspeichern. Projekt schliessen & neu öffnen.
object FrameTest: TFrameTest
Left = 0 Top = 0 Width = 320 Height = 240 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = True PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 120 Top = 120 Width = 50 Height = 13 Caption = 'TestFrame' end end |
Re: Problem bei Vererbung: Property OldCreateOrder does not
hmm kool, funktioniert, danke :)
nur leider solange, bis ich wieder den frame öffne und bearbeite. dann muss ich wieder des oldcreateorder löschen. is das ein delphi bug, oder woran liegt das, dass der den Frame nich richtig speichert? Gibts da ne endgültige lösung für, oder werd ich mich mit dieser abfinden müssen? |
Re: Problem bei Vererbung: Property OldCreateOrder does not
hmm okay, die lösung is leider nich das wahre. wenn ich dem frame ein onCreate-Event gebe und dann ausführe, kommt wieder "Eigenschaft OnCreate does not exist". und die eigenschaft kann ich ja nich aus dem Textmodus löschen, da sonst das onCreate nich ausgeführt wird. so ein dreck :/
|
Re: Problem bei Vererbung: Property OldCreateOrder does not
Schreibst du in deine Frame-Klasse:
Delphi-Quellcode:
published
property OldCreateOrder: Boolean; stored False; |
Re: Problem bei Vererbung: Property OldCreateOrder does not
Zitat:
Delphi-Quellcode:
:(
[Error] uSettings.pas(12): INDEX, READ or WRITE clause expected, but ';' found
|
Re: Problem bei Vererbung: Property OldCreateOrder does not
okay, ich denke ich hab die lösung. ich hab den frame immer ohne Ressource in einer unit deklariert.
Nun zur lösung des problems: neuen frame erstellen (File/New/Frame), in diesem dann die nötigen Funktionen implementieren. dass ist dann der BasisFrame, von dem alles vererbt wird. um einen neuen Frame von dieser Klasse zu erstellen auf File/New/Other, dann dort [Projektname] auswählen, dort dann den BasisFrame auswählen, dann auf OK, und voila, schon gehts... Danke an alle, die sich die Mühe gemacht haben und sich mein Problem angeschaut haben :) mfg phXql |
Re: Problem bei Vererbung: Property OldCreateOrder does not
Hallo!
Falls es jemanden interessiert - Hatte das gleiche Problem, und bin draufgekommen was das schief läuft... Ich hab also zuerst ein Frame (JobFrame : TFrame) erstellt, bin dann draufgekommen ich brauche was spezielles... Also habe ich ein neues Frame gemacht um es meinen Wünschen entsprechend anzupassen und es zur Basisklasse zu machen - sagen wir mal TExpFrame um dann alle meine Frames davon abzuleiten. Danach habe ich dann einfach bei meinem Frame1 im PAS File auf JobFrame : TExpFrame umgeschrieben, um es von meinem speziellen Frame abzuleiten... So und jetzt habe ich genau den Fehler den du beschreibst... Das liegt ganz einfach daran das man auch im DFM File etwas ändern muß (Textansicht ALT+F12). Und zwar gleich in der ersten Zeile object -> inherited
Delphi-Quellcode:
->
object JobFrame : TJobFrame
Delphi-Quellcode:
Mfg Sonic
inherited JobFrame : TJobFrame
|
Re: Problem bei Vererbung: Property OldCreateOrder does not
Das ist allgemeingültig und trifft auch auf Forms, etc zu. Ich dachte sowas wäre bekannt... :gruebel:
|
Re: Problem bei Vererbung: Property OldCreateOrder does not
Naja ich weiß peinlich :oops:, aber ich hab mir gedacht ich schreibs doch rein,
damits anderen nicht auch so geht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 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