Autor Beitrag
King_Crasher
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

WIN XP
Delphi 2003
BeitragVerfasst: Mi 15.02.06 17:53 
Hallo
Ich hab vor einen Button so zu belegen das 2 Programme gestartet werden. Mein Problem ist das das eine Programm 30 sekunden später starten soll als das andere. Ich hab schon an eine Zählvariable gedacht die runter gezählt wird auf 0. Und wenn 0 erreicht dann soll das Programm starten. Geht so was??? wenn ja wie???

PS: ES sollte ohne zweiten Button gehen.

Danke
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 15.02.06 17:55 
Nimm eine Timer-Komponente für den Start des zweiten Programms.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 15.02.06 17:55 
Hallo,

wie wäre es damit:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
//starte Prog 1
application.processmessages;//sonst macht dein eigenes Programm 30 Sekunden gar nichts
sleep(30000);
//starte Prog 2

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 15.02.06 17:58 
user profile iconKoller hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
//starte Prog 1
application.processmessages;//sonst macht dein eigenes Programm 30 Sekunden gar nichts
sleep(30000);
//starte Prog 2

Macht auch auf diese Art 30 Sekunden nichts.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 15.02.06 18:00 
user profile iconjasocul hat folgendes geschrieben:
user profile iconKoller hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
application.processmessages;//sonst macht dein eigenes Programm 30 Sekunden gar nichts					

Macht auch auf diese Art 30 Sekunden nichts.

Wenn sein Programm aber noch andere Sachen zu erledigen hat. Dann kann er ohne dies keine Buttons drücken usw.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 15.02.06 18:05 
Wenn das Programm nach dem processen der Messages an die Application 30 Sekunden schlafen geht, reagiert es auf nichts. Programme haben einen tiefen Schlaf ;-)

_________________
We are, we were and will not be.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 15.02.06 18:08 
user profile iconGausi hat folgendes geschrieben:
Wenn das Programm nach dem processen der Messages an die Application 30 Sekunden schlafen geht, reagiert es auf nichts. Programme haben einen tiefen Schlaf ;-)

Dann macht man es halt so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
//starte Prog 1
sleep(30000);
application.processmessages;//sonst macht dein eigenes Programm 30 Sekunden gar nichts
//starte Prog 2

Unser Info-Lehrer (ok - eigentlich waren ich und koller1 seine Lehrer) hat gesagt, dass man zu sleep auch noch application.processmessages schreiben muss, damit das Programm benutzbar bleibt :gruebel:

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 15.02.06 18:11 
Dann muss man das aber so machen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for i:=0 to 300 do
begin
  sleep(100); // 100ms Schlafen
  Application.processMessages; // Nachgucken, ob man was arbeiten muss, 
  //ansonsten sofort wieder schlafen legen.
end;

_________________
We are, we were and will not be.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 15.02.06 19:42 
Euer Info-Leerer hat euch Blödsinn erzählt.
@Gausi:
Hast du die Taktzyklen für die Schleife überprüft? Kommen da auch 30 Sekunden bei raus? :wink:

Ich weiß, dass auch ein Timer nicht 100%ig genau ist. Dürfte aber hierfür die beste Lösung sein.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 15.02.06 19:48 
Ne, da kommen natürlich nicht genau 30 Sekunden raus. Man braucht ja immer ein bißchen Zeit fürs aufstehen, Licht anmachen und hinlaufen zum Briefkasten, wo die ganzen Nachrichten drin stecken. Und dann erst das lesen und Antworten...Da ist der Tag ganz schnell rum ;-)
(Der Vergleich hinkt hoffentlich nicht allzusehr.)

_________________
We are, we were and will not be.
King_Crasher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

WIN XP
Delphi 2003
BeitragVerfasst: Mi 15.02.06 20:15 
Ihr sprecht davon das mein Programm nicht ansprechbar ist. Trifft das auch auf das programm zu welches ich öffne??? wenn nein dank ich euch.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 15.02.06 20:38 
user profile iconKing_Crasher hat folgendes geschrieben:
Ihr sprecht davon das mein Programm nicht ansprechbar ist. Trifft das auch auf das programm zu welches ich öffne??? wenn nein dank ich euch.
Nein - die anderen Programme betrifft das nicht. Es geht einzig und allein, darum dass dein Programm bei sleep(zahl in millisekunden) solange 'schläft' - d.h. du kannst es nicht benutzen.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 15.02.06 23:40 
Im Taskmanager steht dann auch "keine Rückmeldung". Der Schließen-Knopf reagiert auch nicht mehr. Aber wenn das egal ist, kannst du es natürlich mit einem Sleep machen.
Wenn es darum geht, dass das zweite Programm nur gestartet werden darf, wenn das erst schon läuft, könntest du auch einfach das zweite aus dem ersten heraus starten, statt eine Wartezeit in ein Startprogramm einzubauen. Hätte außerdem den Vorteil, dass eventuelle Initialisierungen im ersten Programm garantiert sind. Eine Wartezeit im Startprogramm ist dafür nämlich keine Garantie.
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mi 15.02.06 23:46 
user profile iconjasocul hat folgendes geschrieben:
Euer Info-Leerer hat euch Blödsinn erzählt.

Das hat er ständig :wink:

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot