Uzak bir network aygıtından veri okuyan bir OCX OLE Module kullanıyorum. Module şu şekilde uzaktaki veriyi okuyor:
Kod: Tümünü seç
AdsResult := Form1.AdsOcx1.AdsCreateVarHandle('.Recipe_Data', hVar );
if AdsResult = 0 then
begin
AdsResult := Form1.AdsOcx1.AdsSyncReadIntegerVarReq( hVar, sizeof(Recipe_Data), Recipe_Data[1,1].ProcessTime);
if AdsResult = 0 then begin
end
else Form1.Label2.Caption := Format('AdsSyncReadIntegerVarReq2 error10:%d', [AdsResult] );
Form1.AdsOcx1.AdsDeleteVarHandle( hVar );
end
else Form1.Label2.Caption := Format('AdsCreateVarHandle error10:%d', [AdsResult] );
Bu code her 500ms de bir TTimer event ile çağırılıyor.Fakat yukarıdaki işlem benim elimde olmayan bir şekilde normalden biraz fazla işlemci zamanı yediğini tahmin ettiğimden ekrandaki diğer nesnelerin : örneğin Tbutton v.b tepki zamanları yükseliyor.
Bu konuda MultimediaTimer şeklinde componentler gördüm bu problemi bu tür componentler bir nebze olsun azaltabilir mi?
Delphi altındaki TTimer componentinin verimsiz olduğu kısımlar var mıdır?. Bu kısımlardan feragat edince (Multimedia timer gibi) başka sorunlar doğabilir mi?
Thread programlama bana biraz erken gibi bunun dışında ne önerirsiniz?
İyi çalışmalar.
incal99