function MoverMotor(ancho_de_pulso: Cardinal): Cardinal; stdcall;
begin
Result := 8000;
repeat Dec(Result);
pro_MOTORMARCHA(ancho_de_pulso)
until (Result = 0) or Application.Terminated;
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var Dummy: Cardinal;
begin
CreateThread(nil, 0, @MoverMotor, Pointer(StrToInt(Edit1.Text)), 0, Dummy); end;