Autor Beitrag
agm65
Hält's aus hier
Beiträge: 3

XP

BeitragVerfasst: Do 02.10.03 03:19 
hi jungs, ich bins wieder (der VBler)....
meine main form sollte beim start unsichtbar sein...
form1.visible := false, bringt mir nen fehler:
die eigenschaft visible kann in onSHow oder onHide nicht verändert werden... ? was bedeutet das ?

thx cu agm65
am liebsten in icq adden .....(hab delphi seit 3 tagen, ist doch einiges anderes als in vb...da frag ich öffters mal was :D ) ....

es lohnt sich auch für euch, versprochen ,,,,,
Tr3bi
Hält's aus hier
Beiträge: 5

Windows XP
D5 Prof
BeitragVerfasst: Do 02.10.03 07:50 
Hallo VBler ;-)

Soweit ich weiss ist es mit Delphi nicht Möglich die Form1 beim starten auf invisible zu setzen, weil Du die Form damit auf Disabled setzt.

Leider kannst Du bei Disabled die Form nicht mehr ansprechen somit auch keine Buttons etc. die auf der Form sind ansprechen.

Was hast Du den genau vor?

Falls jemand was anderes behauptet wäre ich aber auch Dankbar auf einen Tipp :p

GreetZ
Tr3bi

_________________
Chancen haben nur die, die besser als der durchschnitt sind!
lemming
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Do 02.10.03 11:47 
Tr3bi
Zitat:
Soweit ich weiss ist es mit Delphi nicht Möglich die Form1 beim starten auf invisible zu setzen, weil Du die Form damit auf Disabled setzt.


Das stimmt leider nicht. Die Form ist dann nur nicht sichtbar. Du kannst bei OnShow oder OnCreate die Form nicht Visible := False machen weil sie es noch nicht gibt (Create). Das ist aber nu beim erstenmal OnShow. Später geht das dann schon, wenn sie mal aus dem Minimized kommt oder so.

Du kannst auch Delphi Projekte ohne Form schreiben. Einfach eine Konsolenanwendung machen und das Type Console raus löschen. Schon hast du ein Programm das Gesichtslos ist. Kannst dann natürlich auch keine Visuellen Komponenten verwenden. Aber alles andere schon, dafür gibts ja DataContainer.

Oder du machst es ganz billig und sagst das

ausblenden Delphi-Quelltext
1:
2:
Form1.BorderStyle := bsNone;
Form1.Height := 0;


Und in einem Timer machst du

ausblenden Delphi-Quelltext
1:
2:
Timer1.Enabled := False;
Form1.Visible := False;


-lemmi

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 02.10.03 11:58 
Hallo!

Du kannst das Zeigen der Mainform verhindern, indem Du dies in der Datei "project1.dpr" (bei einem "frischen" Projekt, sonst heißt sie natürlich anders) angibst. Und zwar so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  Application.Initialize;
  Application.ShowMainForm := False; //<-- die Zeile habe ich eingefügt
  Application.CreateForm(TForm1, Form1);
  Application.Run;


MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Do 02.10.03 12:07 
lemming hat folgendes geschrieben:
Du kannst bei OnShow oder OnCreate die Form nicht Visible := False machen weil sie es noch nicht gibt (Create).

Stimmt nicht! Die Form existiert im OnCreate-Ereignis bereits (der Constructor ist abgschlossen, das Objekt also fertig erzeugt), allerdings wird OnCreate ausgelöst _bevor_ der globalen Variable Form1 die Objekt-Referenz zugewiesen wird. Ein Zugriff auf die Variable Form1 in OnCreate kann also nette AVs erzeugen...
Zitat:
Das ist aber nu beim erstenmal OnShow. Später geht das dann schon, wenn sie mal aus dem Minimized kommt oder so.

Nein, Delphi unterbindet das ändern der Sichtbarkeit in OnShow und OnHide-Events immer! Die richtige Lösung hat Peter Lustig gepostet -> einfach Application.ShowMainForm auf False setzen...

Zitat:
Du kannst auch Delphi Projekte ohne Form schreiben. Einfach eine Konsolenanwendung machen und das Type Console raus löschen. Schon hast du ein Programm das Gesichtslos ist. Kannst dann natürlich auch keine Visuellen Komponenten verwenden. Aber alles andere schon, dafür gibts ja DataContainer.

Wenn man diese zur Laufzeit selbst erzeugt geht es auch.. ;) ist aber mühsam...!

Zitat:
Oder du machst es ganz billig und sagst das

Form1.BorderStyle := bsNone;
Form1.Height := 0;

Und in einem Timer machst du

Timer1.Enabled := False;
Form1.Visible := False;

Also billiger gehts ja wirklich nicht mehr!! Von derartigem Code ist definitv abzuraten!!

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
Killmag10
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 297

Suse Linux / DOS / Windows All In One ;)
D4 / D2005
BeitragVerfasst: Do 02.10.03 12:23 
vieleicht brauchst du das:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.FormActivate(Sender: TObject);
begin
Application.Minimize; //minimiert Anwendung

showWindow(application.handle,sw_hide); //entfernt Anwendung Aus der Taskleiste
end;

end.


hoff das hilft dir weiter.

mfg. Killmag10

_________________
Mega-inkompetente Computer-ruinierende Organisation spioniert ohne funktionierende Technik
einfach112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

xp
del7
BeitragVerfasst: Di 13.04.04 00:15 
Titel: ICH GIBS AUF !
also dieser thread hier ist wunderschön ! aber stimmt von vorne bis hinten nicht ! kann daran liegen das ich d7 habe oder ?!
also wenn ich Application.ShowMainForm := False; benutze dann funtzt bei mir fast garnix mehr !
weder timer noch webbrowser !?
warum nur !?
ich bräuchte echt mal hilfe hier !? hoffe das liest hier noch einer !
vielen dank schonmal im voraus cu
einfach112

_________________
sorry bin noob !
andy09071978
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP, Win 2000
D7 Prof
BeitragVerfasst: Di 13.04.04 10:37 
:) so müssts gehn:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  Application.Initialize; 
  Application.ShowMainForm := False; //<-- die Zeile habe ich eingefügt 
  Application.CreateForm(TForm1, Form1); 
  Application.ShowMainForm := True; //<-- die Zeile habe ich eingefügt 

// weitere Forms ...

  Application.Run;
einfach112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

xp
del7
BeitragVerfasst: Di 13.04.04 20:42 
Titel: mmhh
ok ! werde ich innerhalb der nächsten 20 min testen ! dank ! melde mich dann später nochmal wenns geht oder auch wenn nicht LOL !

_________________
sorry bin noob !
einfach112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

xp
del7
BeitragVerfasst: Di 13.04.04 21:11 
Titel: nöö sorry
also hat nicht geklappt !
also 1. du hast dich glaube ich vertan ! du hast erst
unsichtbar gemacht : Application.ShowMainForm := False;
und anschliessend wieder sichtbar :
Application.ShowMainForm := True; //<-- die Zeile habe ich eingefügt

naja es sollte ja unsichtbar sein ! also eigentlich genau umgedreht ! habe zur sicherheit mal bei versucht !
beim deiner version klar ! es wurde alles angezeigt !
bei der umgedrehten dann war zwar keine form zu sehen aber meine webbrowser auf der form funktionierten leider nicht !?
hat vieleicht sonst noch einer ne idee ?!
thx cu
einfach112

_________________
sorry bin noob !
ixtreme
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 13.04.04 21:20 
wenn ich auf projekte quelltext gehe und folgendes so einfüge....


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.ShowMainForm := False;
  Application.Run;
end.


funktioniert der twebbrowser, genauso wie der timer ohne probleme!

Gruß

ixtreme.de
einfach112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

xp
del7
BeitragVerfasst: Di 13.04.04 21:42 
kann es daran liegen das ich nur ne enterprise trail version habe ?!
werde es sofort nochmal testen wie du sagtest !
mom !
auf alle fälle schonmal danke für antwort !

_________________
sorry bin noob !
ixtreme
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 13.04.04 21:52 
einfach112 hat folgendes geschrieben:
kann es daran liegen das ich nur ne enterprise trail version habe ?!


normal nicht
einfach112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

xp
del7
BeitragVerfasst: Di 13.04.04 21:54 
sorry ! oder bin ich einfach zu noob !?

hier mal meine ganzen quelltexte : zuerst project1

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
program Project1; 

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin 
  Application.Initialize; 
  Application.CreateForm(TForm1, Form1);
  Application.ShowMainForm := False;
  Application.Run; 
end.




und dann noch die unit hier

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    WebBrowser1: TWebBrowser;
    WebBrowser2: TWebBrowser;
    WebBrowser3: TWebBrowser;
    procedure Timer1Timer(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure WebBrowser2DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure WebBrowser3DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
webbrowser1.Navigate('http://www.ard.de');
timer1.Enabled := false ;
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
webbrowser2.Navigate('http://www.zdf.de');
end;

procedure TForm1.WebBrowser2DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
webbrowser3.Navigate('http://www.rtl.de');
end;

procedure TForm1.WebBrowser3DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
application.Terminate ;
end;

end.



also wie gesagt ! bin über jede antwort dankbar ! vor allem wenn um fehler geht dich ich somit dann schon zum ca. 20 mal gemacht habe !
denn habe das alles schon mind. so oft neu geschriebne !?

Moderiert von user profile iconMotzi: Code- durch Delphi-Tags ersetzt.

_________________
sorry bin noob !
einfach112
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

xp
del7
BeitragVerfasst: Di 13.04.04 22:01 
Titel: hier nachmehr sicherheit :
habe alles was ich im prject ordner habe mal als rar gepackt ! vieleicht findet sich ein eventueller fehler schneller ?!
runter laden @ :

www.my-wireless-lan.de/Projects.rar

thx

_________________
sorry bin noob !
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Mi 14.04.04 01:18 
Hi,

also wenn ich das mit meiner D6 Enterprise compliere funktioniert alles einwandfrei! Liegt anscheinend wirklich an deine Delphiversion.