[ dekys @ 23.06.2004. 13:19 ] @
dali je nokome poznata neka procedura koja ce odraditi delay izrazenu u mikrosekundama. RAnije je ovde bilo govora o slicnoj koja je imala mogucnost pauzirana do 1 milisekunde.

Navedena funkcija je ranije opisana na ovom forumu. Meni je mikrosekunda potrebna za manipulaciju step motorima!

[ Rapaic Rajko @ 30.07.2004. 09:55 ] @
Zakasneli odgovor, ali upotrebljiv - sledi:

Code:

procedure TForm1.Button1Click(Sender: TObject);
var atimer: THandle;
    alargeint: Int64;
begin
  atimer := CreateWaitableTimer(nil, false, 'MyTimer');
  if atimer <> 0 then begin
    try  // vreme ide u 100 ns intervalima (10000000 = 1 sekunda)
      // minus znaci relativno vreme ('od sad')
      alargeint := -(StrToInt64(Edit1.Text)); 
      SetWaitableTimer(atimer, alargeint, 0, nil, nil, false);
      WaitForSingleObject(atimer, infinite);
    finally
      CloseHandle(atimer);
    end;
    ShowMessage('Zavrsio je');
  end;
end;


Ovo je neverovatno mocna stvar, a reci cu i zasto. Zato sto thread koji ceka na timer NE TROSI procesorsko vreme. Do danas nisam ni ja znao za ovo; hvala za inspiraciju.
Pozdrav

Rajko
[ dekys @ 02.08.2004. 10:22 ] @
Hvala Rajko na ulozenom trudu!