هل ممكن للبروسيدر ان يرجع قيمه
#2
مبدءيا يمكن القول أنه من المستحيل على Procedure أن يرجع أي قيمة .
لكن يمكن أن يفعل في حال تم استخدام الأسمبلي أو طرق ملتوية :
مثال على السريع :
PHP كود :
procedure Sum(a,b:integer);
asm
  add eax
,edx
end
;
procedure TForm3.Button1Click(Sender: TObject);
var 
sResult:integer;
begin
   Sum
(2,4);
  
asm
    MOV sResult
,EAX
  end
;
  
Caption:=IntToStr(sResult);
end; 


مثال ثاني :
PHP كود :
procedure Sum(a, b: integer);
begin
  SetLastError
(a + b);
end;

function 
GetResult: integer;
begin
  Result 
:= GetLastError;
end;

procedure TForm3.Button1Click(Sender: TObject);
var
  
sResult: integer;
begin
  Sum
(2, 4);
  
sResult := GetResult;
  
Caption := IntToStr(sResult);
end; 
Open Your Source .. Open Your Mind
الرد


الردود في هذا الموضوع
هل ممكن للبروسيدر ان يرجع قيمه - بواسطة SMP3 - 31-08-2013, 01:01 AM

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


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