![]() |
|
من دلفي 7 الى xe3 - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : من دلفي 7 الى xe3 (/showthread.php?tid=5424) الصفحات:
1
2
|
من دلفي 7 الى xe3 - oubaymahjor - 27-07-2013 السلام عليكم ورحمة الله تعالى وبركاته ارغب طبعا ان اعرف كيف اعدل على سورس دلفي 7 ليعمل بدون مشاكل على دلفي xe3 ليس سورس محدد بل اي سوس بصفة عامة من دلفي 7 الى xe3 - SMP3 - 27-07-2013 أهم شيئ في الاختلاف هو دعم اليونيكود Unicode في أغلب الأحيان لن تضطر لتغيير أي شيئ بالكود . في حالات خاصة ستحتاج الى اجراء بعض التعديلات على الكود عند الانتقال الى نسخ دلفي التي تدعم ال Unicode..يجب مراعاة حجم ال Data مثلا : D7 : SizeOf char = 1 byte DXE3 : SizeOf char = 1 WORD ستحتاج الى اعادة حساب الحجم المناسب للمتغيرات المحجوزة للدوال FillChar,GetMem,.. كود : D7: FillChar(X,Size)
DUnicode: FillChar(X,Size*2)ان استخدمت دوال ApiFunctionA : Ansi .. يتوجب عليك أن تقوم باستبدال : D7: Char --> DUnicode AnsiChar D7: PChar --> DUnicode PAnsiChar من دلفي 7 الى xe3 - Anew - 27-07-2013 وهل ex3 يتوجب ان يكون "فروم ورك " منصب على الجهاز او اي حزم اخرى ؟ من دلفي 7 الى xe3 - SMP3 - 28-07-2013 anew كتب :وهل ex3 يتوجب ان يكون "فروم ورك " منصب على الجهاز او اي حزم اخرى ؟ لا , لا يتطلب الفرام وورك :d من دلفي 7 الى xe3 - oubaymahjor - 28-07-2013 شكرا اخي الغالي على ردك مافهمته انه علي اعادة حساب حجم المتغيرات هل جميع المتغيرات ام فقط تلك المتعلقة بالنصوص ك word و char و string وقد واجهة مشكلة اعتقد انها تخص ماذكرت في حساب حجم المتغيرات وهذه المشكلة في دالة ReadProcessMemory وقد اخترت هذا الاصدار لأنه سيمكنني من عمل برامج 64 بت وتحويل بعض السورسات اولا لكي اعمل عليه من دلفي 7 الى xe3 - SMP3 - 28-07-2013 oubaymahjor كتب :هل جميع المتغيرات ام فقط تلك المتعلقة بالنصوص ك word و char و stringالنوع WORD نوع قياسي .. لا يتغير أبدا WORD=2 Bytes . النوع string حقيقتا هو عبارة عن مؤشر لسلسلة نصية في الذاكرة حجمه = DWORD بالنسبة للدالة ReadProcessMemory : ممكن سبب الخطأ يكون : كود : D7:
function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
nSize: [color=red]DWORD[/color]; var lpNumberOfBytesRead: [color=red]DWORD[/color]): BOOL; stdcall;
DXE3:
function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
nSize: [color=red]SIZE_T[/color]; var lpNumberOfBytesRead: [color=Red]SIZE_T[/color]): BOOL; stdcall;من دلفي 7 الى xe3 - oubaymahjor - 29-07-2013 شكرا اخي العزيز لكنني لم اتمكن من معرفة المشكلة في هذه الدالة وقد استخدمت في السورس اكثر من مرة مع انني غيرت ماذكرت لي الا ان الخطأ لم يتغير كود : E2033 Types of actual and formal var parameters must be identicalكود : var
Process: dword;
BytesRead: dword;
Usr: dword;
Len: word;
begin
ReadProcessMemory(Process, pointer(Usr + $38), @Len, 2, BytesRead);
end;من دلفي 7 الى xe3 - SMP3 - 29-07-2013 يجب أن تراعي نوع المتغيرات SIZE_T & DWORD PHP كود : varمن دلفي 7 الى xe3 - h-farid - 29-07-2013 كذلك المحرر Rave Reports قد استغنت عنه الشركة منذ DXE2 لذلك ان كانت برامجك تعتمد عليه فستظطر إلى إعادة بنائها على Fast Report أو ما شابه. من دلفي 7 الى xe3 - oubaymahjor - 30-07-2013 شكرا اخي العزيز تم الامر بنجاح وتم تحويل السورس ويعمل بشكل جيد بالنسبة ل 64بت يجب القيام ببعض التعديلات ايضا حسب علمي هل لك ان تشرح لي ماذا يجب ان اغير فقد جربت وظهرت اخطاء في بعض اكواد الاسمبلي في مكونات uallcollection |