AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Frames alternative zu Komponente?

Ein Thema von taaktaak · begonnen am 6. Mai 2008 · letzter Beitrag vom 6. Mai 2008
Antwort Antwort
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

Frames alternative zu Komponente?

  Alt 6. Mai 2008, 07:46
Moin, Moin.

Sicherlich wird man die Fragestellung weder mit einem klaren JA noch NEIN beantworten können; sie beschreibt aber ganz gut meine augenblickliche Überlegung, zu der ich eine Entscheidungshilfe erhoffe:

Nachdem ich lange Zeit TFrames ignorierte, habe ich jetzt doch ein wenig damit herumexperimentiert und die Delphi beiliegende Richedit-Demo in einen Frame gepackt. Im Verlauf des Bastelns habe ich ein benutzerdefiniertes Event benötigt und dieses auch in die Frameklasse einbauen können. So weit, so gut.

Nun stoße ich allerdings auf zwei offenbar grundsätzliche Eigenarten der Frames, die die Frage aufkommen lassen, ob anstelle eines Frames nicht eine Komponente die bessere Wahl wäre:
  • Der Zugriff auf das im Frame definierte Event ist im Source (natürlich) problemlos möglich. Ich hatte aber erwartet, dass nach Placierung des Frames im Formular das Event im Objektinspektor in der Ereignisliste des Frames erscheint. Dort kann ich dieses aber nicht entdecken. Das ist zwar nur eine Schönheitsfehler, aber immerhin! Frage: Ist das prinzipbedingt, oder muss das Event auf irgendeine Art und Weise "registriert" werden, damit es im OI angezeigt wird?
  • Ergebnis der Bastelei soll sein, einen kompletten kleinen Editor zu erstellen, der dann überall verwendet werden kann. Der Frame wäre dann quasi der Editor-Container. Durch Zufall habe ich nun festgestellt, dass Frames aber offenbar nur projektbezogen (?) verfügbar sind. Auch wenn die Frame-Unit in einem Verzeichnis innerhalb des Suchpfades abgelegt wird: In anderen Projekten zeigt mir das Frame-Auswahlfenster den erstellten EditorFrame nicht an?! Frage: Ist das ebenfalls prinzipbedingt, oder mache ich da wieder einmal etwas falsch?
Ralph
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 08:16
Füge den Frame einfach dem Projekt hinzu, dann kannst du damit auch normal arbeiten.

Mich stört es auch, das man die eigenen published Properties zur Designzeit nicht sehen kann, aber dazu müsste die IDE sich ja das Kompilat des Frames nehmen und das wäre dann doch zu viel des Guten. Du hättest immer eine Diskrepanz zwischen Framecode und Quelltext... Wäre nett, halte ich aber nicht für praktikabel.

Wenn man allerdings Frames wie Komponenten behandeln könnte, wäre das nett. Ich komme aber auch so damit zurecht.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#3

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 09:24
Vielen Dank für die schnelle Antwort!

zu meiner 1. Frage:
OK, damit kann man leben, dass der OI die eigenen Properties nicht anzeigt!

zu meiner 2. Frage:
Prima! Daran habe ich gar nicht gedacht: Zuerst die Frame-Unit dem Projekt zufügen, dann steht sie auch im Auswahlfenster der Frames zur Verfügung und kann eingefügt werden - sehr schön!
Ralph
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 09:31
Zu 1 du kanns ja auch eine eigene Klassen von TFrame ableiten und da deine Proceduren u.s.w. ableiten und die sind dann somit auch im OI zu sehen.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 09:33
Kleinigkeit noch, und das ist eine echte Macke von Delphi:

Wenn Du im Designer ein Formular lädst, auf dem sich ein Frame befindet, und dieser Frame ist noch gar nicht geladen, dann meckert die IDE. Und wenn Du dann nicht aufpasst (einfach ab-entern), ist der Frame flöten. Ist mir gerade eben bei einem fetten Projekt passiert und die Anwendung wurde so ausgeliefert.. Schönen Dank.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#6

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 13:36
Moin, Moin.

@franktron: Ähhhh, ich muss gestehen, ich verstehe das nicht

Wenn ich eine Klasse ableite und in meinem Programm nutzen will, dann muss ich doch im Source z.B. im OnCreate meines Forms davon eine Instanz erstellen - und dann sehe ich im OI weder einzelne Controls der Klasse noch die von dieser Klasse bereitgestellten Properties.

Sorry, aber so sehr mich dein Hinweis interessiert, er ist mir leider absolut unverständlich. Könntest du für mich Unwissenden etwas konkretere Arbeitsschritte aufzeigen?
Ralph
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 13:42
Zitat von taaktaak:
Moin, Moin.

@franktron: Ähhhh, ich muss gestehen, ich verstehe das nicht
Beispiel

Delphi-Quellcode:
  TMeinFrame = class(TFrame)
    public
      Porperty Var : Integer;....
     
     Procedure MachWas;
  End;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 13:50
Zitat von taaktaak:
...und dann sehe ich im OI weder einzelne Controls der Klasse noch die von dieser Klasse bereitgestellten Properties.
@frank ...ich glaub taktaak weiss wie man etwas ableitet, er möchte gern das es auch im OI sichtbar wird. Einzige Chance ist, daß die abgeleitete Klasse als neue Komponente registriert wird, wie du taktaak es schon richtig erkannt hast.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#9

Re: Frames alternative zu Komponente?

  Alt 6. Mai 2008, 15:10
Noch einmal vielen Dank für die Antworten.
Meine Irritation ist jetzt beseitigt. Als Fazit halte ich fest: Im Prinzip kann ich einen Frame wie eine Komponente nutzen, muss dann aber auf den Zugriff auf die Properties im OI verzichten. Wenn ich diese Bequemlichkeit unbedingt nutzen will, dann muss es eine Komponente sein.
Ralph
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:00 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