Autor Beitrag
Red-Flash
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 09:50 
Wie im Titel bereits genannt verschwinden ab und zu die NICHT modalen Fenster,

die wie folgt erzeugt werden.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  if not Assigned (Formular) then
  begin
    Formular := TFormular .Create (Owner);
  end;

  with Formular do
  begin
    Show;
  end;



Ab und zu bedeutet :
Es kann sein, das man dieses Fesnter den ganzen Tag auf und zu machen kann,
es kann aber auch sein, das es sofort verschwindet.

Wenn dies passiert, kann man mit "ALT Leertaste", das Fenster zwar focussieren (Man sieht den Rahmen),
und bewegen, aber NICHT sehen....

Man muß dann den Rechner neu starten, dann geht es wieder ne Weile.

Mit Win-XP KEIN Problem....


Hat auch jemand dieses Problem?
Daniel L.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140
Erhaltene Danke: 14

W7, W8
TurboD Prof, Delphi Community
BeitragVerfasst: Di 12.10.10 10:27 
Was soll denn TFormular sein?
Ein Abkömmling von TForm?
Red-Flash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 11:46 
TFormular ist das aktuelle Formular

wenn ich einem Formular den Namen "MeinForm" gebe, mach er daraus den Type "TMeinForm"


Owner ist der Self, des Formular, von welchem ich das neue Formular erzeuge.
Daniel L.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140
Erhaltene Danke: 14

W7, W8
TurboD Prof, Delphi Community
BeitragVerfasst: Di 12.10.10 12:57 
Hm, bei mir scheint es zu funktionieren, hab auch D7 und W7, aber auf klassischen Stil geschaltet. (Kein Aero oder wie das heisst).

Gruss: Daniel
Red-Flash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.10 15:57 
Das Win2000 Schema haben wir auch schon getestet,
aber ohne Erfolg...

Es passiert trotzdem.
Red-Flash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18
Erhaltene Danke: 1



BeitragVerfasst: Mi 13.10.10 09:43 
Andere Frage :

Wie erzeugt ihr untergeordnete nicht Modale Fenster ?
Daniel L.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140
Erhaltene Danke: 14

W7, W8
TurboD Prof, Delphi Community
BeitragVerfasst: Mi 13.10.10 23:07 
Entweder:

Durch Start von Dephi7 wird form1 mit Unit1 creiert.
Dann: Datei/Neu/Forumular
Es entsteht Form2 und Unit2.
Unit2 in Unit1 unter uses...einbinden
dann Code in Unit1 : form2.show;

(so hatte ich dein Problem getestet)


Oder:

Durch Start von Dephi7 wird form1 mit Unit1 creiert.
in der Class TForm1 eine neue form deklarieren:
MyFormular : TForm;
dann Code:
Myformular := TForm.Create(self);
MyFormular.Show;

Ich habe auch deinen Code im Threadstart nicht wirlich verstanden.

Gruss: Daniel
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19324
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 14.10.10 05:03 
user profile iconDaniel L. hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe auch deinen Code im Threadstart nicht wirlich verstanden.
Das ist doch der, denn du gerade selber gepostet hast, nur dass vor dem Erzeugen noch geprüft wird, ob das schon passiert ist.

Bezogen auf das Problem rate ich dazu einfach immer das Fenster neu zu erzeugen und im Fenster in OnClose Action auf caFree zu setzen.

Außerdem solltest du einmal schauen, ob FastMM vielleicht Speicherprobleme findet, denn das kann dann einige Probleme verursachen. Die integrierte Prüfung gibt es in Delphi 7 noch nicht.
Red-Flash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18
Erhaltene Danke: 1



BeitragVerfasst: Do 14.10.10 09:49 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:

Bezogen auf das Problem rate ich dazu einfach immer das Fenster neu zu erzeugen und im Fenster in OnClose Action auf caFree zu setzen.



Ich dachte das Freigeben on Close brauche ich nicht extra zu erwähnen da dies selbstverständlich ist.


Das Fester wird immer beu erzeugt,
nur hat Windows 7 nicht immer Lust dieses auch anzuzeigen
Obwohl es sogar StayOnTop ist.

Es ist als ob vieleicht das Handle verloren geht, oder so was.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19324
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 14.10.10 10:39 
user profile iconRed-Flash hat folgendes geschrieben Zum zitierten Posting springen:
Ich dachte das Freigeben on Close brauche ich nicht extra zu erwähnen da dies selbstverständlich ist.
Das passt aber nicht zu deinem Code. Dann darfst du Formular nicht auf Assigned prüfen. Denn durch die Freigabe ist die Variable nicht notwendigerweise nil...