okay okay. jetz funzt es.
ich habe meine oberfläche mit dem editfeld und 2 button
ich gebe meinen intervall an und drücke button1 und er läuft los. sendet brav über lpt1 die daten und nach jedem datenabschnitt unterbricht er für zeit x. aber endlos läuft er nicht. er bleibt nach 30 stehen und fängt nicht wieder von 0 an. wenn ich das aber alles in eine schleife setze und diese auf unedlich laufen lasse kackt alles ab.
hier mal der code:
Delphi-Quellcode:
procedure PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
function PortIn(Port : Word): Byte; stdcall; external 'io.dll';
procedure Warten(ms: Cardinal);
var zeit: Cardinal;
begin
zeit := GetTickCount;
while ((GetTickCount-zeit)<ms) do
Application.ProcessMessages;
end;
procedure Senden;
var i: Integer;
delay: Cardinal; //Verzögerung in Millisekunden
begin
try
delay := StrToInt(Form1.Edit1.Text);
except
delay := 1000;
end;
Form1.ProgressBar1.Position := 0;
i := 0;
while (Schleife and (i<30)) do
begin
i:= i+1;
PortOut($378,i);
Warten(delay);
Form1.ProgressBar1.Position := Form1.ProgressBar1.Position +1;
end;
Schleife := False;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Schleife := False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Schleife := True;
Senden;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Schleife := False;
end;
vielleicht sieht jetzt einer meinen fehler
danke