![]() |
Form gar nicht erst visible werden lassen
Hallo Freunde :hi: ,
Ich weiss nicht, wie man NonVCL programmiert, deswegen hab ich eine Form genommen, einen timer drauf, der n bisschen pollt, und das ganze sofort bei Form1.create invisible gemacht, trotzdem ist für ne halbe sekunde oder so die form zu sehen wenn das prog startet. gibt es da ne möglichkeit, das komplett zu verhindern? MfG Lefko. |
Re: Form gar nicht erst visible werden lassen
Wenn du ein Programm schrieben willst, wo kein Form zu sehen ist, warum machst du dann eins?
Schreib dein Programm doch einfach als PROGRAM oder so. Wenn du natürlich irgendwann doch mal ein Fenster zeigen willst müsstest du dann eins erstellen. Als Übergangslösung bietet sich an in Form1.OnPaint - self.visible := false; zu schreiben! |
Re: Form gar nicht erst visible werden lassen
öh, ich mach das nicht, weil ich davon keine ahnung habe...
übrigens, hab mich vertan, ich mach das nicht im oncreate der form invisible, sondern hab ich in Project.dpr geschrieben:
Code:
das dürfte doch ca. genauso "schnell" sein wie der o.g. Vorschlag mit self.visible?
Application.Initialize;
Application.Title := 'rxgard'; Application.CreateForm(TForm1, Form1); Application.Run; Application.Mainform.visible := false; wonach muss ich suchen und worüber informieren, wenn ich ein program schreiben will? das hat keine form, ja? MfG Lefko. |
Re: Form gar nicht erst visible werden lassen
Hallo!
Wenn Du es so machst, wird die Form gar nicht (auch nicht für eine halbe Sekunde) sichtbar:
Delphi-Quellcode:
MfG
Application.Initialize;
Application.ShowMainForm := False; Application.CreateForm(TForm1, Form1); Application.Run; Peter |
Re: Form gar nicht erst visible werden lassen
Das wäre zB. ein Programm, dass eine Datei nach C:\Test\ schreibt und falls sie schon vorhanden ist, diese löscht. Bei einem Fehler wird eine Meldung ausgegeben.
Delphi-Quellcode:
program MeinProgramm;
uses Dialogs, Sysutils, Inifiles; var Dateien : Tinifile; begin if fileexists('C:\Test\test.txt') then begin try deletefile(Pchar('C:\Test\test.txt')); except showmessage('Fehler!'); end; end ELSE begin try CreateDir('C:\Test'); Dateien := Tinifile.Create('C:\Test\test.txt'); Dateien.WriteString('TEST','TEST','hallo'); Dateien.Free; except end; end; end. Wenn man einen bestimmten Befehl braucht -> Einfach in der Hilfe danach suchen und die entsprechenden Units miteinbinden (Sysutils, Dialogs zB.) |
Form gar nicht erst visible werden lassen [GELÖST]
@Löwenzahn-Mann ;) : Ja, wunderbar, klappt gut, danke :)
@axelf: Danke für den Code, aber die Methode von Lustig ist doch wesentlich einfacher ;) MfG Lefko |
Re: Form gar nicht erst visible werden lassen [DOCH NICHT]
Hm, ich hab mich geirrt!
Das von Peter Lustig mit dem Application.Showmainform := false funktioniert doch nicht! Wenn ich nach dem Create ein Application.mainform.visible := false setze, dann ist die form ca ne halbe sek zu sehen. Wenn ich vor das create ein Application.Showmainform := false setze, dann bleibt der balken der form unten links in der ecke sichtbar und geht nicht weg. Also, was sollte ich nun machen? Da ich die form später noch brauche, kann ich auch das von axelf nich benutzebn.. MfG Lefko. |
Re: Form gar nicht erst visible werden lassen
Dü könntest Axels Methode nehmen, aber trotzdem das Zeugs für dein Fenster reinpacken, aber das Fenster erst später, wenn du es brauchst mit Create erzeugen.
Oder irre ich mich? |
Re: Form gar nicht erst visible werden lassen
Hallo!
Ich habe mal ein ganz frisches Projekt gemacht und die Zeile mit dem ShowMainForm an der entsprechenden Stelle einfügt. Funktioniert wunderbar. Und was meinst Du mit "Balken der Form unten links"? :gruebel: |
Re: Form gar nicht erst visible werden lassen
Bitte sehr, so gehts in jedem Fall:
Delphi-Quellcode:
program MeinProgramm;
uses Dialogs, Sysutils, Inifiles, Forms, Unit1 in 'Unit1.pas' {Form1}; var Dateien : Tinifile; begin if fileexists('C:\Test\test.txt') then begin try deletefile(Pchar('C:\Test\test.txt')); except showmessage('Datei nicht gefunden!'); end; end ELSE begin try CreateDir('C:\Test'); Dateien := Tinifile.Create('C:\Test\test.txt'); Dateien.WriteString('TEST','TEST','hallo'); Dateien.Free; except end; end; // Tue dies und das.. // und später... Application.Initialize; Application.CreateForm(TForm1, Form1); // Jetzt kommt das Form Application.Run; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz