التعامل مع المؤشرات any type pointer
#1
السلام عليكم ورحمة الله تعالى وبركاته

عند التعامل مع المؤشرات بهذه الطريقة كل شيء يشتغل عادي :
كود :
var     s: String;     ptrS: ^String; begin    s := 'delphi4arab';    showmessage('S : ' +s);    ptrS:= @s;    ptrS^:= 'New value';    showmessage('S : ' +s); end;

لكن عند التعامل معها على هذا النحو يصبح هناك مشكل ولا اعلم كيف حلها او سببه ؟
كود :
var     s: String;     ptrS: Pointer; // هنا إستعملت هذا begin    s := 'delphi4arab';    showmessage('S : ' +s);    ptrS:= @s;    ptrS^:= 'New value'; // هنا المشكل, كيف يتم حله؟    showmessage('S : ' +s); end;
الرد
#2
هذا untyped pointer وهو مؤشر غير محدد النوع أي لا يمكن عمل dereferencing له بدون casting, يمكن حله هكذا:
PHP كود :
String(ptrS^) := 'New value';
أو
PString
(ptrS)^ := 'New value'; 
[-] كل من 1 user says قال شكرا ل sofiane201 على المشاركة المفيدة
  • MasteranyOne
الرد
#3
(17-07-2020, 01:12 PM)sofiane201 كتب : هذا untyped pointer وهو مؤشر غير محدد النوع أي لا يمكن عمل dereferencing له بدون casting, يمكن حله هكذا:
PHP كود :
String(ptrS^) := 'New value';
أو
PString
(ptrS)^ := 'New value'; 

بارك الله فيك, وحفظك من كل سوء 

تم حل المشكلة
[-] كل من 1 user says قال شكرا ل MasteranyOne على المشاركة المفيدة
  • sofiane201
الرد


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


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