-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
8. Jul 2009
Ich schau mir das mal an.... Dank Dir!
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
3. Jul 2009
Habe mir mal deinen Beitrag zur Objektablage mal durchgelesen. Kannte ich vorher gar nicht. Könnte hier natürlich einige Vorgänge vereinfachen. Schränkt jedoch auch ein, wenn man die erzeugten Formen zur Laufzeit mit unterschiedlichen Eigenschaften ausstatten möchte. Beispielsweise plane ich für ein neues Projekt 2 solcher Funktionen, die die Form entweder eingebettet auf der Hauptform oder eben...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
3. Jul 2009
Evtl. verstehe ich deine Antwort nicht, oder aber du hast mein Problem missverstanden. Alles was ich möchte, ist dass ich nicht bei jedem Formular, dass auf diese Weise erzeugt werden soll die Eigenschaften (Align,BorderStyle und Parent)erneut angeben muß. Was hat das mit einem falsch angewandten OOP-Konzept zu tun?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
2. Jul 2009
Mmmh, Die Frames / Forms -Frage hatte sich erstmal erledigt. Forms haben nebenbei auch den Vorteil, dass man sie durchaus mal lösgelöst von der Mainform starten kann. Wichtiger wäre mir erstmal meine vorherige Frage ( 2 Posts weiter oben)
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
2. Jul 2009
Muss das Thema nochmal aufgreifen.
Zu besseren Übersicht nochmal mein bisheriger Code:
.
.
if createform(TForm2,TForm(Form2)) then //machwas;
.
.
function createform(fclass:TFormClass;var nform:Tform):boolean;
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
13. Mai 2009
Mmmh, ich glaube du verstehst das falsch...
Es ging drum, welchen Vorteil Frames gegenüber Forms in meinem Fall hätten. Die OnCreate-Methode gibt es nicht bei Frames, weswegen ich erstmal bei meinen Forms bleibe...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
13. Mai 2009
Ich habe mich zugegebenermaßen mit Frames bisher nicht beschäftigt (sollte ich mal nachholen).
Als "Laie" sehe ich derzeit keine Unterschied zwischen der Nutzung einer Form bzw. eines Frames im konkreten Fall.
Meine Forms werden zu Laufzeit erzeugt und bekommen als Parent ein Panel auf der Hauptform. Beim Modulwechsel werden alle offenen Formen (außer der Hauptform) geschlossen (was dann...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
13. Mai 2009
Klar, die Frage ist jedoch, ob es dann noch Vorteile bringt, Frames zu verwenden (offentlich wird das jetzt nicht OT)
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
13. Mai 2009
Vielen Dank für den Link..
Die fehlenden Events (besonders Create und Destroy) könnten mir zum Verhängnis werden... Aber konnte das Ganze bisher nur überfliegen.... lese es mir gleich nochmal genauer durch...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
13. Mai 2009
Welchen Vorteil hat denn die Verwendung von Frames gegenüber Forms im konkreten Fall?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
13. Mai 2009
Hallo Chemiker,
vielen Dank für dein Beispiel... wird heute meine "Zuglektüre" :)
Mein Vorhaben ist, mehrere Forms (Anzahl wächst stetig) dynamisch auf einem Panel der Hauptform einzubetten.
Es sollen quasi je nach Auswahl in einem Menu die zugehörigen Module angezeigt werden. Um nun nicht jedesmal den gleichen Code beim Aufruf des Moduls aufzuführen, suchte ich nach einer Funktion, welcher...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Hallo,
die Frage der Sichtbarkeit wie auch die Einstellungen in den Projektoptionen hatte ich berücksichtigt.
Ich werde mir die Referenz/Wertparameterübergabe heute abend nocheinmal anschauen. Erstmal habe ich (zumindest für mein Projekt) eine funktionierende Lösung. Der Lerneffekt muss leider bis nach der Arbeit warten... :?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Klar... die Funktion von uligerhardt weiter oben funktioniert nicht. Ich habe es mit dem Cast von Zoot umgesetzt.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Irgendwie wird keine Form erzeugt, wenngleich die Funktion ordnungsgemäß durchläuft....
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Da das Ergebnis der Funktion vom typ TForm ist sollte diese doch mit
form2:=createform(TForm2);
aufgerufen werden,was jedoch in einer Fehlermeldung:
Unit1.pas(31): Inkompatible Typen: 'TForm2' und 'TForm'
endet. Oder habe ich hier nen Denkfehler?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Vielen Dank für die Ausführungen. Das schafft mal wieder ein wenig mehr Klarheit!!
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Hallo,
funktioniert!! Nun fehlt mir jedoch noch das Verständnis dazu:
formerzeugen(TForm2,TForm(form2));
//bzw
function TForm1.formerzeugen(fclass:TFormClass;var nform:Tform):boolean;
Kannst du evtl. mal 1-2 Sätze dazu verlieren?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Ich habe das ganze mal aus meinem Projekt herausgelöst und neu aufgesetzt:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Naja, wie eine Form halt deklariert wird:
TForm1 = class(TForm)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Hallo,
danke für die Rückmeldung.
Mit der Version bekomme ich Probleme beim Aufruf:
createform(TForm1,Form1)
" Customize.pas(378): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen"
-
Forum: Object-Pascal / Delphi-Language
Delphi
by WIng2005,
12. Mai 2009
Hallo Gemeinde,
ich möchte aufgrund der mehrfachen Nutzung das Erzeugen meiner Formulare in eine Funktion auslagern.
Meine Ansätze hierzu funktionieren soweit auch, jedoch verhält sich das ganze in manchen Fällen ein wenig mehrwürdig:
function createform(AOwner:TFormClass;nform:TForm):boolean;
Begin
try
application.CreateForm(aowner,nform);