PDA

View Full Version : فرق بین TStringsو TStringList



_alish_
شنبه 20 تیر 1383, 10:59 صبح
باز هم سلام خدمت دوستان
راستش من دقیقا نفهمیدم چه فرقی بین TStrings و TstringList وجود دارد لطفا یک توضیح
جامع دهید؟


var
st:TStrings;
begin
st:=TStrings.Creat;
st.AddObject('Edit',Edit1);


خطا Abstract Error در اضافه کردن عناصر در یک Tstrings چی می تونه باشه یعنی باید از کلاس دیگر آنرا کنترل کرد به هر حال این خطا چیه و رفع آن چه جوریه؟

vcldeveloper
شنبه 20 تیر 1383, 12:14 عصر
شما نمی تونید مستقیما از TStrings استفاده کنید! TStringList رو گذاشتند که بجای TStrings ازش تو برنامه هاتون استفاده کنید.

اما علت اینکه نمی تونید از TString استفاده کنید اینه که این کلاس بصورت انتزاعی (Abstract) تعریف شده و متدهاش در حالت عادی پیاده سازی نشدند. این متدها توسط کلاس های مشتق شده از TString پیاده سازی میشند مثل همین TStringList

_alish_
شنبه 20 تیر 1383, 14:50 عصر
ممنونم داداش :flower:

SReza1
یک شنبه 21 تیر 1383, 20:06 عصر
اگه با مفاهیم oop و کلاس و این چیزا آشنا باشید بهتر میتونید متوجه شید.
کلاس strings به عنوان Parent کلاس stringlist میابشد و به صورت abstract تعریف شده . در این کلاسها شما امکان اینو ندارید که یک object از اون کلاس بسازید بلکه مجبورید از کلاس فرزندان اون object بسازید. کلاسهای abstract قابل پیاده سازی نیستند