![]() |
Timerproblem (Splitfile)
Guten Abend, die Herren und Damen.
Ich habe ein Kleines Problem. Undzwar habe ich mir eine Art "Installer" geschrieben. Mit Interface und allem .. So.. wenn der User alle Eingaben gemacht hat, wird ein Button mit der Aufschrft Installieren sichtbar. Folgnder Code steht drin:
Delphi-Quellcode:
Timer 2 wird gestartet.
JvPageControl1.ActivePage := TabSheet5; // Zum Tabsheet gehen, wo die ProgressBar's sind
BtnBack.Visible := False; // Zurückbutton deaktivieren BtnForward.Visible := False; // Vorwertsbutton ebensfalls Timer2.Enabled := True; Folgendes steht drin:
Delphi-Quellcode:
** Hier ist der Fehler.
// DIe Progressbars werden "einfach so erhöht".. nocherst. Das ändere ich bald
Label4.Caption := 'Aktuelle Datei: Test.exe'; JvXPProgressBar1.Position := JvXPProgressBar1.Position + 5; InstallStatusGesamt := JvXPProgressBar2.Position; Label25.Caption := Format('Verarbeitung Gesamt: %d%%', [InstallStatusGesamt]); JvXPProgressBar2.Position := JvXPProgressBar2.Position + 4; if JvXPProgressBar1.Position = 100 then begin Timer2.Interval := 3500; // habs hier manuell nur auf 3500 gesetzt weil sonst bekomme ich // hunderte Fehlerfenster im Millisekundenabstand Split(ExePfad+'Project1.exe', InstallVerz+'\Test.exe'); // Test aus Project1.exe extrahieren Timer2.Enabled := False; // dann timer AUSMACHEN, was aber NICHT passiert! ** JvXPProgressBar1.Position := 0; Timer3.Enabled := True; end; Die Splitroutine wird alle 3500ms wieder aufgerufen. Der Timer wird also komischerweise nicht deaktiviert? Timer 3 (nächste Datei) wird auch nicht aktiviert.. Was kann das sein? |
Re: Timerproblem (Splitfile)
probiers mla mit:
Delphi-Quellcode:
mfg
if JvXPProgressBar1.Position => 100 then
begin Timer2.Interval := 3500; // habs hier manuell nur auf 3500 gesetzt weil sonst bekomme ich // hunderte Fehlerfenster im Millisekundenabstand Split(ExePfad+'Project1.exe', InstallVerz+'\Test.exe'); // Test aus Project1.exe extrahieren Timer2.Enabled := False; // dann timer AUSMACHEN, was aber NICHT passiert! ** JvXPProgressBar1.Position := 0; Timer3.Enabled := True; end; |
Re: Timerproblem (Splitfile)
Öhm.. du meinst sicher
Delphi-Quellcode:
nicht
if JvXPProgressBar1.Position <= 100 then
Delphi-Quellcode:
oder?
if JvXPProgressBar1.Position => 100 then
Klappt leider auch nicht. Ich hab es mal so versuch:
Delphi-Quellcode:
Das geht soweit. Nur bekomme ich die Meldung, dass in diesr Zeile (JvXPProgressBar1.Position := 0;)
if JvXPProgressBar1.Position >= 100 then
begin Timer2.Interval := 3500; // habs hier manuell nur auf 3500 gesetzt weil sonst bekomme ich // hunderte Fehlerfenster im Millisekundenabstand Split(ExePfad+'Project1.exe', InstallVerz+'\Test.exe'); // Test aus Project1.exe extrahieren JvXPProgressBar1.Position := 0; Timer3.Enabled := True; Timer2.Enabled := False; // dann timer AUSMACHEN, was aber NICHT passiert! ** end else begin // nix end; "" kein gültiger Integerwert wäre. |
Re: Timerproblem (Splitfile)
jetzt erstmal ne frage, dieses hier:
Delphi-Quellcode:
if JvXPProgressBar1.Position <= 100 then
begin Timer2.Interval := 3500; // habs hier manuell nur auf 3500 gesetzt weil sonst bekomme ich // hunderte Fehlerfenster im Millisekundenabstand Split(ExePfad+'Project1.exe', InstallVerz+'\Test.exe'); // Test aus Project1.exe extrahieren Timer2.Enabled := False; // dann timer AUSMACHEN, was aber NICHT passiert! ** JvXPProgressBar1.Position := 0; Timer3.Enabled := True; end; wann soll das aufgerufen werden??? nach den 100 oder vor den 100??? |
Re: Timerproblem (Splitfile)
Kurze Frage, kurze Antwort: Wenn 100 erreicht ist oder die ProgressBar über 100 ist.
Dass "" kein gültiger Integerwerden ist, sagt er sogar wenn ich die entsprechende zeile herausnehme? |
Re: Timerproblem (Splitfile)
Zitat:
Delphi-Quellcode:
!!!
JvXPProgressBar1.Position => 100 then
|
Re: Timerproblem (Splitfile)
"=>"
Das gibt es so Meiner Meinung nach nicht. Der Compiler meckert auch :| Hier nochmal alles, so wie ich es momentan probiere:
Delphi-Quellcode:
Ich verstehe das einfach nicht. Normal MÜSSTE (!!!) doch der Timer3 angehen, und Timer2 aus?
procedure TForm1.Timer2Timer(Sender: TObject);
begin if JvXPProgressBar1.Position >= 100 then begin Timer2.Interval := 3500; // habs hier manuell nur auf 3500 gesetzt weil sonst bekomme ich hunderte Fehlerfenster im Millisekundenabstand Split(ExePfad+'Project1.exe', InstallVerz+'\Test.exe'); // Test aus Project1.exe extrahieren JvXPProgressBar1.Position := 0; Timer3.Enabled := True; Timer2.Enabled := False; // dann timer AUSMACHEN, was aber NICHT passiert! ** end else begin Label4.Caption := 'Aktuelle Datei: Test.exe'; JvXPProgressBar1.Position := JvXPProgressBar1.Position + 5; InstallStatusGesamt := JvXPProgressBar2.Position; Label25.Caption := Format('Verarbeitung Gesamt: %d%%', [InstallStatusGesamt]); JvXPProgressBar2.Position := JvXPProgressBar2.Position + 4; end; end; |
Re: Timerproblem (Splitfile)
eigentlich muss es das geben aber egal, gibts ne einfache lösung für:
Delphi-Quellcode:
if JvXPProgressBar1.Position > 99 then
|
Re: Timerproblem (Splitfile)
die lösung ist so einfach, dass der fehler noch immer kommt :D
[b]Wo der Fehler herkommt: ich habe herausgefunden, dass wenn ich
Delphi-Quellcode:
Rausnehme, alles funktioniert. Aber das ist ja nicht Zweck, dass ich das wichtigste Überhaupt herausnehme.
Split(ExePfad+'Project1.exe', InstallVerz+'\Test.exe'); // Test aus Project1.exe extrahieren
|
Re: Timerproblem (Splitfile)
ok also liegt es gar nicht an der funktion, sonder an den sachen irgendwo die du drinne aufrufst...
was genau ist denn überhaupt der fehler?? und was ist split für ne funktion und woher hast du die??? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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