Autor Beitrag
Ebil
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: So 24.08.08 16:00 
Hi leute,
Im Project quelltext stehen ja die formulare die beim programmstart erstellt werden:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  Application.CreateForm(TfrmMain, frmMain);
  Application.CreateForm(TfrmShortcut, frmShortcut);
  Application.CreateForm(TfrmOpt, frmOpt);
  Application.CreateForm(TfrmAbout, frmAbout);
  Application.CreateForm(TfrmStartup, frmStartup);


Nun hab ich ein paar rausgenommen da ich diese erst nach einem klick auf ein button erstellen will, was natürlich kein problem sein sollte.
Gesag getan, was passiert?
Delphi erstellt die formulare trozdem beim programmstart.
Was nun? hab schon versucht die formulare zu verbergen (frm.hide, frm.visible := false), funktioniert auch nicht im FormCreate...
Langsam weiss ich nichtmehr woran es liegen könnte, theoretishc sollte es ja klappen.
Die mainform kann auch nicht geändert werden (frmMain), auch wenn sie als letzer eintrag der zu erstellenden forms erscheind, Application.MainForm gibt immer frmMain aus (nicht vom namen irritieren lassen, das war mal die mainform, soll sich nun aber ändern).

Bin ein bisschen verzweifelt :D

Ebil
Radler
Hält's aus hier
Beiträge: 4

Win 98, XP
D4 Prof
BeitragVerfasst: So 24.08.08 16:19 
Hast du die zusätzlichen Formulare nicht über Projekt > Optionen > Formulare... in die Liste der verfügbaren Formulare verschoben?
Dann werden die auch nicht beim Start automatisch erzeugt.

Viele Grüße,
Günter
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: So 24.08.08 17:46 
Wusste ich nichts von, hab ich nun aber gemacht, trozdem gibts probleme.
Es kam ein fehler (dublicate ressource), also hab ich die deklaration im Project quelltext entfernt

ausblenden Delphi-Quelltext
1:
mMain in 'mMain.pas' {frmMain}//Das weggemacht(auch bei allen andern)					


Wenn ich dann starte, tauchen trozdem alle forumlare auf.
Und wenn ich dann in Optionen unter formulare schau, steht dort nur das hauptformular mStartup.

Ebil
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 24.08.08 17:52 
Du weißt schon, was du da tust, oder?
Da ich von "NEIN" ausgehe, helf ich dir mal:
Die Zeile, die du gerade gepastet hast, gibt nur an, dass die Datei zum Projekt gehört! Die hat nichts damit zu tun, ob das Formular beim Starten angezeigt wird, oder nicht.
Und der Kommentar, der dahinter steht.. da bin ich mir grad nicht sicher, ob der für Delphi wichtig ist.
Aber normalerweise sollte man nicht händisch in der .dpr Datei rumfingern, wenn man nicht genau weiß, was man da macht!

Mein Vorschlag: Leg das Projekt neu an, bind alle Units wieder ein (Projekt -> Datei hinzufügen) und änder die Formulare über die Projektoptionen.

_________________
PROGRAMMER: A device for converting coffee into software.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: So 24.08.08 18:28 
Diese Zeile steht ja auch nicht in der .dpr!


user profile iconEbil hat folgendes geschrieben:

Es kam ein fehler (dublicate ressource), also hab ich die deklaration im Project quelltext entfernt
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 24.08.08 19:16 
Ja, und die .dpr Datei ist was? Richtig, die Projektdatei oder auch Projektquelltext.

Wenn du deine Änderungen mal rückgängig machst, und uns die genaue Fehlermeldung nennst (duplicate resource), können wir auch noch versuchen, daran rumzudoktorn.
Aber die Projektdatei neu anzulegen wär sicherlich einfacher.

_________________
PROGRAMMER: A device for converting coffee into software.
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: So 24.08.08 20:17 
Das project ist schon verdammt groß mittlerweile, und ich weiss zum teil was ich mach, und ohne etwas auszuprobieren, lernt man nix dazu.
Die datei ist schon im urzustand, ich sagte auch nicht das diese zeile etwas mit dem anzeigen oder nichtanzeigen zu tun hat, nur das falls ich diese zeile entferne der dublicate ressource error weg geht.
Wobei ich nun merkte das es sich um eine andere zeile handelt, nun startes das prog ohne probleme, trozdem werden alle formulare erstellt, obwohl sie in Verfügbare formulare drin sind und im Project quelltext(und wer öffnet da bitte dir .dpr?), diese nicht erstellt werden, sondern erst nach einem click auf einem button erstellt werden sollten.
Sind also eigentlich wieder am anfang :D

Ebil
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Mo 25.08.08 21:05 
Ich bin noch weiter am probieren und nun so weit, das er die formulare nichtmehr automatisch erstellt, aber etwas ist extrem komisch:
Im neuen hauptformular erstellt er falls der code für die neuen formulare vorhanden ist, diese trozdem automatisch, obwohl diese in einem BUTTON CLICK ereignis stehen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TfrmStartup.btStartClick(Sender: TObject);
begin
  Application.CreateForm(TfrmMob, frmMob);
end;


Das zb wird einfach erstellt, in einem Click ereignis, direkt beim start.
Wie geht sowas? Da wird nix geklickt...

Ebil
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mo 25.08.08 23:17 
Händisch erstellt man Formulare eigentlich so, wie normale Komponenten auch:
ausblenden Delphi-Quelltext
1:
frmMob := TfrmMob.create(self);					


Woran lags denn, dass die Formulare vorher trotzdem noch automatisch erstellt wurden? vielleicht hat mal jemand das gleiche Problem.

_________________
PROGRAMMER: A device for converting coffee into software.
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Di 26.08.08 19:44 
Wie ichs genau gelöst hab ka, einfach bisschen rumgespielt (hatte ja schona lles durch) iwann gings dann.

Auch mit deinem code (was eig. nicht anders als meiner ist), wirds automatisch erstellt, ohne das man auf den button klickt.

Ebil
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 26.08.08 21:14 
Setz da mal nen Haltepunkt, und schau dir dann den Aufruf-Stack an, aus welcher Prozedur der da reinspringt..

_________________
PROGRAMMER: A device for converting coffee into software.
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Di 26.08.08 22:04 
Was genau soll ich denn nachschauen?
Der code von

procedure TfrmStartup.btStartClick(Sender: TObject);

Wird aufjedenfall ausgeführt, was ich schon ziemlich komisch find...


Ebil
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 26.08.08 22:13 
Hab ich doch geschrieben, den Aufruf-Stack.
Ansicht -> Debug-Fenster -> Aufruf-Stack.

_________________
PROGRAMMER: A device for converting coffee into software.
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Di 26.08.08 22:54 
Naja kenn mich nich so mit debuggen aus (halt nur grundlagen, auch wenn ich tuts gelesen hab, tu ich mich damit imma schwer).
Da steht einiges:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
mStartup.TfrmStartup.btStartClick($144DA40)
:20158aaf TCustomForm.DoCreate + $37
:20158707 TCustomForm.AfterConstruction + $17
:201586dd TCustomForm.Create + $179
:20162785 TApplication.CreateForm + $71
Projekt.Projekt
:7c816ff7 kernel32.RegisterWaitForInputIdle + 0x49
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 26.08.08 23:07 
Überprüf mal bitte, was du dem Ereignis OnCreate des Formulars zugewiesen hast....

_________________
PROGRAMMER: A device for converting coffee into software.
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Mi 27.08.08 21:55 
Nichts von bedeutung (was mir sicher auch aufgefallen wäre... :D),
Hab alles da auskommentiert, trozdem erscheinen alle fenster...
Vllt sollte ich mir langsam ne andere lösung suchen ^^,
uko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Do 28.08.08 09:23 
Such doch mal das Projekt durch, ob nicht an irgendeiner Stelle btStartCklick per Hand aufgerufen wird! Ich vermute jetzt mal, daß dies entweder im OnCreate des Hauptformulars (zumindest was Delphi als Hauptformular hält!) passiert oder Du läßt TFrmStartup automatisch erzeugen und dort ist es im OnCreate oder einem überschriebenen Constructor drinnen.

Grüße,
Uli
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Do 28.08.08 16:26 
Hab ich ja schon gemacht, alles durchgeschaut, und war mir so oder so sicher das ich es nicht von hand aufrufe ( es ist immerhin der startknopf, es gibt ja keinen grund den ein 2. mal zu drücken).
Deswegen ist mir das ganze unerklärlich...

Ebil
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 28.08.08 16:28 
kannst du mal das ganze projekt gezippt hochladen?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Ebil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Do 28.08.08 16:57 
Ich sagte das das projekt schon relativ groß ist, und daran arbeite ich schon einige monate, sowas will ich wirklich nirgendwo releasen.
Muss ich wohl allein irgendwie nen anderen weg finden.

Ebil