Autor Beitrag
stef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: So 11.06.06 23:21 
Hallo Leute,

habe folgendes Problem:
Im 1 Fenster (Hauptfenster) lädet er alle Daten. Wenn er mit dem Laden fertig ist soll der das 1 Fenster schliessen und das 2 Fenster aufmachen. Leider funktioniert es nicht, da ich immer eine Zugriffsverletzung bekomme.

ausblenden Quelltext
1:
2:
3:
4:
procedure form1.show
//Laden der Daten
form2.showmodal;
form1.close;


Was mache ich falsch? Bitte um kurze Hilfe. Danke.
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: So 11.06.06 23:31 
ausblenden Delphi-Quelltext
1:
form1.hide;					

Close im Hauptformular schließt das ganze Programm. :wink:
stef Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 12.06.06 00:21 
hey danke für die Hilfe.

ich habe es so gelöst:

im FormShow des 1 Form wird das close gemacht wenn er die Daten geladen hat. Im Form1.Close wird das 2 Fenster dann aufgerufen.

Nur jetzt habe ich das Problem das er das 1 Formular minimiert startet. Erst wenn die Daten geladen werden zeigt er mir das 2 Fenster.

1) Woran liegt das bzw. wie kann ich das ändern.
2) Bzw. wo soll ich das Hide aufrufen ?????

Habe es auch schon so probiert. Wenn er das Hauptfenster aufruft soll er ein anders Fenster aufrufen (in der Funktion onShow des Hauptfensters) in dem die Daten geladen werden. Wenn die ADODataSet1EndOfRecordset aufgerufen wird, da er beim letzten DS angelangt ist, soll er das Fenster schliessen mit close. geht aber auch nicht das Fenster bleibt. Und mit Hide bekomme ich die Meldung das ich es nicht in den Proceudre onShow und onHide verwenden darf.

Ich weiß nicht mehr weiter, bitte nochmals um eure Hilfe danke.
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mo 12.06.06 12:48 
Mir scheint du willst einen Splashscreen programmieren.
Um die Daten zu setzen schreibst du dort einfach z.B. Unit1.aVariable := 'bla';

Als Splashscreen sollte man auch nicht die MainForm verwenden.

Wenn ich daneben liege erklär mal bitte genau wie es aussehen soll.
stef Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 12.06.06 13:34 
Hey danke das funktioniert schon mal,

nru habe ich jetzt das Problem wenn ich mit der Ado - Komponente eine Datenbankverbindung aufbaue bekomme ich folgenden Fehler: Exception EoleSysError in Moudl Project1.exe bei 00085C35. CoInitialize wurde nicht aufgerufen.

Keine Ahnung was ich da wieder falsch mache.

Sobale ich die Komponente wieder löschen geht es. Auch wenn ich auf einer andere Form zugreife wo die ADO komponente liegt bekomme ich einen Fehler. Aber z.B. eine Progressbar darf ich reinziehen da bekomme ich keinen Fehler.

Und wenn ich so zugreife so wie du es gepostet hast kann ich esnicht mal kompilieren da er unit1 nicht kennt.
Muss ich die unit1 wo einbinden bzw. wo muss ich die Variable setzten?

Danke für die Hilfe.
stef Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 12.06.06 14:26 
So Danke nochmals habe es bereits selbst gelöst.

Man muss halt doch nur ein bisschen probieren :)

Danke