![]() |
vorschläge für einen ladebalken vor der hauptform
hallo leute, ich suche vorschläge für einen ladebalken (wie bei delphi zB).
also ich lade beim form create meiner hauptform einige daten in das programm. jetzt wollte ich einen ladebalken davor setzten. hab ne 2te form genommen und die ganzen ladevorgänge jetzt von dort ablaufen lassen (diese zeige ich modal). das problem ist, meine ladeform + der ladebalken werden nicht angezeigt bevor nicht alles geladen ist. so bringt mir das aber nichts ;). wollte das so richtig schön machen wie bei delphi, so dass man text sieht was genau grade geladen wird. wie mache ich das am besten ? danke euch !mfg |
Re: vorschläge für einen ladebalken vor der hauptform
Bitte das nächste mal vorher die Suche bemühen:
![]() |
Re: vorschläge für einen ladebalken vor der hauptform
danke, sorry mir ist das wort splash screen nicht eingefallen ! danke dir !
|
Re: vorschläge für einen ladebalken vor der hauptform
(ohne das Tutorial gelesen zu haben, was ich später nachhole)
Das mit dem Splash-Screen ist zwar eine feine Sache, aber ich würde zuerst die Überlegung starten, wie lange dein Programm überhaupt brauchst, bis es alles geladen hat?! Wirklich so lange, dass sich so ein Splash-Screen lohnt? Ich habe das ganze auch mal in mein Programm eingebaut und da wurde schon einiges geladen (MDI-Fenster, aus einer Datenbank etwas, weitere Konfigurationen etc.). Allerdings muss ich sagen, dass mich das auf die Dauer mehr gestört hat, als dass es irgendetwas bringt. Bei Delphi kann ich es verstehen, da da schon einige Sekunden vergehen bis die IDE da ist, aber bei normalen Programm würde ich sowas nicht empfehlen. Nimmt nur Zeit und Systemresourcen weg, was ich nicht als sinnvoll erachte. Investiere da doch lieber deine kostbare Zeit um Fehler besser abzufangen. Das ist halt meine bescheidene Meinung über SplashScreens... |
Re: vorschläge für einen ladebalken vor der hauptform
hmm...also ich finde das schon gut, da der user nicht einfach ein paar sekunden warten muss vor nichts.
|
Re: vorschläge für einen ladebalken vor der hauptform
Also ich mach Splash Screens immer so:
Delphi-Quellcode:
program Project1;
uses Forms, Windows, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {SplashScreen}; {$R *.RES} begin SplashScreen := TSplashScreen.Create(Application); try SplashScreen.Show; Application.Initialize; SplashScreen.Update; Sleep(1000); // Or a delay command. Application.CreateForm(TForm1, Form1); SplashScreen.Hide; finally SplashScreen.Free; end; Application.Run; end. |
Re: vorschläge für einen ladebalken vor der hauptform
hey bei euren ganzen splash screens, kann wird die data des main forms überhaupt nicht geladen, denn wenn ich jetzt im lade vorgang dem splash screen zB sage, label1.caption := 'status: lade 1';
dann wird der erst angezeigt nachdem die hauptform geladen wurde ? |
Re: vorschläge für einen ladebalken vor der hauptform
Zitat:
|
Re: vorschläge für einen ladebalken vor der hauptform
lass das mal meine sorge sein, ist ein riesen programm... ich kann meiner firma ja nicht sagen , wir machen es kleiner damit es keine ladezeiten hat :) ! ne sind schon sehr viele datenbank abfragen am anfang + noch config zeugs...da ist solch ein ladebalken schon nicht schlecht. mein cheff hat ein progg geschrieben das läd ca ne minute aber man sieht und hört nichts. das ist doch scheiße...der user sollte schon sehen was da passiert, deswegen dachte ich an einen splash screen wie bei delphi 2006.
und sakuras tutorial ist ja auch ganz okay -> nur man kann dem splash screen keinen live status zuweisen, zumindest hab ich es nicht hinbekommen ! |
Re: vorschläge für einen ladebalken vor der hauptform
Und selbst wenn es nicht ein paar Sekunden sind: Bei manchen Programmen ist er einfach schön anzusehen. ;-)
Aso: auch wenn's .NET - Code ist, das Prinzip hiervon lässt sich auch relativ einfach in Delphi umsetzen: ![]() Dem kann man aus dem Rest vom Programm Nachrichten schicken um eine Progressbar zu füllen. Damit man aber nicht immer die Länge der Bar anpassen muss merkt sich der SplashScreen beim ersten Anwendungsstart wie lange die Anwendung braucht und wie viele Meldungen reinkommen und benutzt diese Informationen bei den weiteren Starts als Referenz und ist so ab Start 2 sehr genau. Nette Spielerei, zumal die hier sogar Transparente Bilder erlaubt und damit sowas machbar ist wie z.B. Adobe hat. |
Re: vorschläge für einen ladebalken vor der hauptform
cool, danke das schau ich mir mal an !
|
Re: vorschläge für einen ladebalken vor der hauptform
leider kein plan wie ich das in delphi umsetzten soll...
|
Re: vorschläge für einen ladebalken vor der hauptform
Wenn dich ein .NET-Beispiel nicht erschreckt und du etwas hübsches für deine Anwendung haben möchtest, kann ich dir eventuell
![]() |
Re: vorschläge für einen ladebalken vor der hauptform
Hallo,
also bei meinem Programm wird beim Start auch "ein bissel" geladen. Ich verstehe niht, warum du nicht auf das MainForm einen Porgressbar packst, und den aktualisierst. Das muss natürlich in FormActive, nicht in FormCreate passieren. Und da FormActivate mehrfach aufgerufen werden kann, setzt du in FormCreate eine Variable bFirstInForm:= True und in FormActive if bFirstInForm then begin bFirstInForm:= False; Application.ProcessMesages; DoLoadDataOnce; end; Natürlich kannst du das Application.ProcessMessages auch innerhalb deiner DoLoadDataOnce mehrfach aufrufen. Heiko |
Re: vorschläge für einen ladebalken vor der hauptform
Also ich würde das (und habs auch schon so gemacht) so machen:
Splash-Screen: neues Formular. Dann im OnCreate des Hauptformulars (am Anfang, bevor die Daten geladen werden):
Delphi-Quellcode:
und dann immer wenn was geladen wird:
LogoForm := TLogoForm.Create(Application);
LogoForm.Show;
Delphi-Quellcode:
Und am ende des Creates dann:
LogoForm.Label.Caption := 'Datenbank wird ausgelesen...';
Delphi-Quellcode:
EDIT:
LogoForm.Free;
Das
Delphi-Quellcode:
muss natürlich aus'm Hauptprogramm entfernt werden.
Application.CreateForm(TLogoForm, LogoForm);
|
Re: vorschläge für einen ladebalken vor der hauptform
hador ich wollte mich an dieser stelle nochmal recht herzlich bedanken, deine lösung ist so simpel und doch so gut, genau so mach ich das jetzt auch ..habe vielen dank ! echt super idee !
|
Re: vorschläge für einen ladebalken vor der hauptform
Mach den Splashscreen nicht länger, als nötig, sonst stehst du dir z.B. beim Testen nur selber im Weg. Delphi ist doch eigentlich schnell, deshalb verstehe ich Splashscreens garnicht.
|
Re: vorschläge für einen ladebalken vor der hauptform
ja genau der ist jetzt genau so lange wie die ladezeit dauert, nicht mehr und nicht weniger ! perfekt also !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 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