ما هي الطرق التي تجعل برنامجك سريع ؟
#5
عبد الهادي كتب :لكن استاذنا الفاضل ، الدالة وان لم تكن دالة تسريع بحتة فهي في معني تنقيص الانتظار، وهذا نوع من التسريع الجزئي

أم تصوري لكلامكم خاطيء فالرجاء التصحيح؟
ولكن خالص الشكر

إقتباس :عند استعمالك لل ProcessMessages فأنت تجبر الكونترول على التحول للقيادة اليدوية Smile .. (لن يتم انتظار وصول الرسائل الى الكونترول حتى يتم الانتقال الى الدورة n+1 )
[COLOR="Red"]ماذا يعني هذا ؟
يعني أن الزمن الفاصل بين كل MSG يرسله الوينداوز و ال MSG التالي يساوي بالتقريب صفر (على حسب Loop )
ألق نظرة على ProcessMessage من الوحدة Forms.pas [/COLOR]
PHP كود :
function TApplication.ProcessMessage(var Msg: TMsg): Boolean;
var
  
Handled: Boolean;
begin
  Result 
:= False;
  if 
PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
  begin
    Result 
:= True;
    if 
Msg.Message <> WM_QUIT then
    begin
      Handled 
:= False;
      if 
Assigned(FOnMessage) then FOnMessage(Msg, Handled);
      if 
not IsHintMsg(Msg) and not Handled and not IsMDIMsg(Msg) and
        
not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then
      begin
        TranslateMessage
(Msg);
        
DispatchMessage(Msg);
      
end;
    
end
    
else
      
FTerminate := True;
  
end;
end; 
لاحظ أن كل التعامل مع الرسائل TMsg Smile
الرد


الردود في هذا الموضوع
ما هي الطرق التي تجعل برنامجك سريع ؟ - بواسطة SMP3 - 12-05-2013, 12:32 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم