Entwickler-Ecke

Sonstiges (Delphi) - Help! Prog. läuft ABER kein ander eingaben möglich


ski20 - Do 14.09.06 17:14
Titel: Help! Prog. läuft ABER kein ander eingaben möglich
Hallo all,

Hab ein Problem mit eine kleine Programm das "Ein" oder "aus" für ein 8 Kanal reliasbord aus eine Gridstring liest...und das 30 mal in eine schleife. Zwischen jede reihe ein 3 oder 4 Sekunden pause mit "sleep" und ein 3 Bytes an der Relaisbord schicken via com1. PROBLEM ist wenn das Programm läuft ist im Programm nichts anderes möglich nicht mal in der Grid scrollen.... bis der schleife zu ende gelaufen ist.
Wo dran kann so was liegen ? hab n andere prog. die in eine dauer schleife Dateien abholt per ftp get von 50 verschiedene ip Adressen ...und wenn das läuft kann ich immer noch andere eingeben machen.

Danke Mark


DarkLord05 - Do 14.09.06 17:17

Das "sleep(ms)" friert das Programm komplett ein. Such mal nach delay hier im Forum oder mach es mit Threads ;)


ski20 - Fr 15.09.06 09:43
Titel: Danke Darklord
Danke danke ....bin nicht so fit ....alles per learning by doing, daher verstehe nix von Threads!!!, aber werde nach "Delay" suchen.

Vielen Dank sie haben sehr geholfen.

Mark


JayEff - Fr 15.09.06 10:07

Ja, da gabs diese Funktion, die sleep ersetzen sollte, wenn das Programm nicht einfrieren soll:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure delay(ms: Cardinal);
var ticks: Cardinal;
begin
   ticks:=GetTickCount;
   while GetTickCount-ticks < ms do
      Application.ProcessMessages;
end;

So ging das, oder? Siehe auch diverse andere Threads.

user profile iconski20 hat folgendes geschrieben:
Vielen Dank sie haben sehr geholfen.

:shock: nich siezen ;)


ski20 - Fr 15.09.06 11:35
Titel: Geht !! funkt. jetzt Super
Danke..........so habe ich das jetzt gemacht !! funkt. echt super.

Danke noch mal
Mark

ps nice weekend