كيف يتم نسخ كلاس إلى آخر ؟
#11
إقتباس :ستحتاج الى أن تكون على علم بالتقنيات التالية :
- Generics & Collections
- OOP
- RTTI

خذلك أولا قهوة ثقيلة ..
ثم توكل على الله ..
ثم اطلع على هذا الرابط :
هذه تريد ليلة من ليال الشتاء الطويلة Tongue
الف شكر لك وعلى تعاونك Smile

--------------------------------------
إقتباس :السلام عليكم

عندما تقوم بانشاء اوبجكت من كلاس فان هدا الأبجكت يشغل مساحة من الداكرة ولنسخ الأوبجكت يكفي معرفة المساحة التي يشغلها انظر المثال كتبته بشكل سريع
فعلاً هذه كانت نظرتي وتوقعي للامر
لكن فكرت بالامر أكثر وتذكرت ان وبجكت يمكن ان يحتوي على على اوبجكت آخر

مثال عملي :
PHP كود :
type
  TMyClass 
= Class
    
Name: string;                             // in your way .. this value will be copied fine because it's value 
    
Age: integer;                             // same here
    
Address: string;    

    
PhoneNumbers: TStringList; // this will be the problem .. when you copy it you just copy the pointer for it 
                                                         // so if the obj1 Freed the obj2 will lose its PhoneNumbers pointer because it
                                                         // belong to obj1 
  
end; 

فإذا اردت ان اقوم بنسخ حقيقي سيتطلب الامر ان اعرف عنوان الوبجكت الذي أريـ ـد نسخه ثم اقوم بنسخ للذاكرة الاوبجكت
وبعد ذلك اتأكد هل البيانات التي تم نسخها هي قيم(Values) ام مؤشرات(Pointers) إذا كانت مؤشرات
اقوم بنسخ المكان الذي يشير إليه هذا المؤشر ثم أتاكد من البيانات التي نسختها هل تشير إلى مؤشرات آخرى ام لا ...وعلى هذا المنوال الغير محكم فربما تحدث اخطا ..إلخ

طبعاً كل هذه هي توقعات نظرية ولم اطبق اين منها
الرد


الردود في هذا الموضوع
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 13-10-2014, 06:55 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة SMP3 - 13-10-2014, 10:38 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 13-10-2014, 12:13 PM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة Amer12 - 14-10-2014, 05:27 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 14-10-2014, 06:00 PM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة SMP3 - 14-10-2014, 09:54 PM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 15-10-2014, 03:47 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة SMP3 - 15-10-2014, 10:29 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة me_delphi - 16-10-2014, 07:02 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 16-10-2014, 08:12 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 16-10-2014, 03:21 PM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة SMP3 - 16-10-2014, 08:47 PM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة me_delphi - 17-10-2014, 02:40 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة ALmuhhnad - 17-10-2014, 04:59 AM
كيف يتم نسخ كلاس إلى آخر ؟ - بواسطة SMP3 - 13-10-2014, 05:44 PM

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


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