AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Statusbar

Ein Thema von markon · begonnen am 23. Okt 2003 · letzter Beitrag vom 24. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#1

Probleme mit Statusbar

  Alt 23. Okt 2003, 18:04
hallo.
habe folgendes problem:
es öffnet sich eine "mainform" im vollbild. (als hintergrund)
diese hat im ereigniss onactivate den code: frm_menu.ShowModal;
d.h. es wird eine form "frm_menu" geöffnet, welche im vordergrund als kleines fenster und aktiv ist.
das alles funktioniert!
nun habe ich auf der im hintergrund befindlichen form eine statusbar angelegt. diese sollte ja bekanntlich auf der form ganz unten sein. dies ist nich ganz der fall.
diese statusbar ist irgendwo in der mitte der form. das liegt daran, weil die form im vordergrund (mit modal geöffnet) irgendwie zu schnell aufbaut. schließe ich die form im vordergrund, dann "rutscht" die statusbar an ihrem eigentlichen platz, nämlich ganz nach unten.

meine frage: warum ist die statusbar nich gleich unten platziert, da wo sie hingehört?

wie kann ich erst die im hintergrund befindliche form komplett aufbauen, bevor die vorder erzeugt wird. muss aber ohne mausklick automatisch geschehen!

über hilfe wäre ich sehr dankbar.
gruß
marcus
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Probleme mit Statusbar

  Alt 23. Okt 2003, 18:23
Moin Markus,

das hab' ich auch noch nicht gehört

Versuch' mal ob's funktioniert, wenn Du vor den Aufruf von frm_menu.ShowModal ein Application.ProcessMessages einbaust.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
XeRo

Registriert seit: 23. Okt 2003
Ort: Warth
461 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Probleme mit Statusbar

  Alt 23. Okt 2003, 19:26
Merkwürdig...
Versuch mal vor dem Aufbau der zweiten form ein Sleep(10) einzubauen um denm Statusbar Zeit zu geben, oder du versuchst ein einfaches Refresh um die Form zu aktualisieren...

Weis nicht obs funktioniert...
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#4

Re: Probleme mit Statusbar

  Alt 23. Okt 2003, 19:36
Zitat:
Sleep pausiert Programmausführungen gemäß dem Parameter Millseconds. Unter Windows ist Sleep lediglich eine Verknüpfung mit der Sleep-Funktion in der System-API. Unter Linux ruft Sleep die usleep-Bibliotheksroutine auf.
Das nützt dir also nichts. Application.Processmessages, jedoch :

Zitat:
Durch einen Aufruf von ProcessMessages ermöglichen Sie der Anwendung, die Botschaften in der Warteschlange abzuarbeiten. ProcessMessages durchläuft die Botschaftswarteschlange von Windows, bis diese leer ist. Anschließend wird die Ablaufsteuerung wieder auf die Anwendung übertragen.

Die Vernachlässigung der Botschaftsverarbeitung wirkt sich nur auf die Anwendung aus, die ProcessMessages aufruft, nicht auf andere Anwendungen. Bei langen Operationen ermöglicht der periodische Aufruf von ProcessMessages, daß die Anwendung auf Zeichnen- und andere Botschaften antwortet.
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Probleme mit Statusbar

  Alt 23. Okt 2003, 20:57
Moin Xero,

Sleep kann nicht funktionieren, da hiermit der Thread für die angegebene Zeitdauer keinerlei Nachrichten mehr verarbeitet, und somit auch nicht mehr das Zeichnen des Formulares möglich ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
XeRo

Registriert seit: 23. Okt 2003
Ort: Warth
461 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Probleme mit Statusbar

  Alt 23. Okt 2003, 21:00
Und was ist mir Refresh?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Probleme mit Statusbar

  Alt 23. Okt 2003, 21:07
Moin Xero,

Refresh könnte gehen.
Wenn allerdings die Botschaftsverarbeitung durch das ShowModal ausgebremst wird (was ich mir irgendwie immer noch nicht so recht vorstellen kann) könnte es allerdings auch damit schiefgehen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#8

Re: Probleme mit Statusbar

  Alt 24. Okt 2003, 10:11
moin.
danke erstmal für euer postings.
dies hat aber leider alles nix genützt. weder refresh noch Application.ProcessMessages;
Delphi-Quellcode:
procedure Tfrm_Main.FormActivate(Sender: TObject);
begin
 //sleep(5000);
 //delay(5000);

 Application.ProcessMessages;

 frm_main.Refresh;

 frm_menu.ShowModal;

end;
irgendwie wird das showmodal zu zeitig ausgeführt, was ja aber nicht sein kann das es am ende steht.

hab mal nen screenshot gemacht.
so schauts aus wenn das programm ausgeführt wird. erst nach dem klick auf den button1 "rutscht" die statusbar an ihrem richtigen fleck.
Miniaturansicht angehängter Grafiken
zwischenablage.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Probleme mit Statusbar

  Alt 24. Okt 2003, 10:31
Versuch doch mal, ProcessMessages nach dem Refresh auszuführen, damit die Aplikation eine Chance hat den Refresh auch durchzuführen.

Sollte das alles nichts helfen, dann nimm doch einen Timer mit z.B. 100ms und ruf Dein ShowModal darüber auf.
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#10

Re: Probleme mit Statusbar

  Alt 24. Okt 2003, 10:34
ich glaubs nich...

habe den "hänger" gefunden!
und zwar hatte ich der im hintergrund befindlichen form die eigenschaft "WindowState" den wert "wsmaximized" zugewiesen.
nun habe ich ihn dort wieder auf "wsnormal" gesetzt.
jetzt wird zur laufzeit die eigenschaft auf maximized gesetzt. zusammen mit dem ProcessManager funzt das ganze. die status bar wird wie gwollt / gewohnt angezeigt


Delphi-Quellcode:
procedure Tfrm_Main.FormActivate(Sender: TObject);
begin
 //sleep(5000);
 //delay(5000);

 Application.ProcessMessages;

 frm_main.WindowState:= wsmaximized;

 frm_main.Refresh;

 frm_menu.ShowModal;

end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz