Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Problem beim öffnen eines Frames

  Alt 30. Jul 2011, 15:15
Hi sven

Zitat:
Öffne ich nun mein Projekt erneut und möchte diese Frames bearbeiten...
Welchen Frame? Du weisst ja: für jeden Frame, den du auf einer Form oder einem anderen Container platzieren willst, brauchst du einen 'BasisFrame'. Ausser, du hast vom Basisframe mehrere Instanzen... Dieser Basisframe ist bei mir immer gleich gross.
Etwas anderes ist es mit der Frameinstanz - auf der Mainform ist bei mir nicht genügend Platz, um die Frameinstanz in der geerbten Grösse darzustellen - also wird er schmäler dargestellt. Was bei mir da nicht sichtbar ist, sind allerdings gerademal die Bildlaufleisten der Frameinstanz.

Hmm... Zum Verständnis der Frames: Nur der Basisframe hat im Normalfall eine eigene Unit. Die Instanz erbt sämtliche Felder und Methoden des Basisframes, hat aber selber keine Unit.
Muss ein Feld oder eine Methode der Instanz anders belegt werden, als das vererbte Feld/ die vererbte Methode, muss dies per Code in der Unit des Containers geschehen. Andersherum könnte es aber ausreichen, wenn du, nachdem du Komponenten der Instanz verschoben hast (deren Positionen also von den vererbten abweichen), die Anwendung kompilierst - andernfalls müsstest du die Anwendung neu erstellen (Projekt->Projekt neu erstellen). Wenn du nur kompilierst, kompiliert Delphi nur die Dateien, die sich seit dem letzten Start geändert haben.

Zitat:
Nur der Basisframe hat im Normalfall eine eigene Unit
Was ist denn der 'Abnormalfall'? Das ist was, das ich selbst noch nie gemacht habe und so nur aus der Help kenne: Du kannst Frames auch anstelle von Formularen nutzen. Dazu erstellst du wie gewohnt den Basisframe. Von diesem erstellst du dann eine Instanz auf einer Form (Toolpalette->Frames und aus der Liste auswählen). Nach Aussage der Help kannst du jetzt die Form löschen - der Frame und die Unit der Form bleiben erhalten. Es sieht zwar jetzt so aus, als ob die Frameinstanz auch eine eigenen Unit hätte, aber die ist im Grunde genommen jene der gelöschten Form. Wie gesagt: Selbst hab ich das noch nie gemacht; lediglich die Help habe ich so verstanden.

Zitat:
Das kann ich (mit D2007) nicht recht nachvollziehen. Wir verwenden Frames auch seit einigen Jahren und haben keine großen Probleme damit.
Da sich Frames doch etwas von Formularen unterscheiden, hatte ich längere Zeit öfters Mühe damit, aber das hat sich geändert - Sie sind inzwischen ein willkommener Bestandteil zur Modularisierung und damit der besseren Übersicht. Ach ja - das OnCreate-Event des Formulars (zB) ruft lediglich dessen Constructor auf...

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat