PDA

View Full Version : سوال: تنظیم Delphi 2010 بر روی Windows 7 64-bit



asgarkz
پنج شنبه 17 فروردین 1391, 23:05 عصر
با سلام
من از Delphi2010 روی Windows7 64-bit استفاده می کنم.
میخواستم راهنماییم کنید که آیا برای کامپایل برنامه هایی که قبلا با Delphi2006 و روی Windows XP 32-bit نوشتم، تنظیمات خاصی رو باید روی Delphi2010 اعمال کنم یا نه؟
سوال دوم اینکه آیا نیاز هست که نوع داده های Integer رو به NativeInt تبدیل کنم یا نه؟
با تشکر از توجه دوستان

سعید صابری
پنج شنبه 17 فروردین 1391, 23:55 عصر
ویندوز شما 64 بیتی است نه دلفیتون و فکر نکنم دلفی 2010 نیز قادر به تولید برنامه 64 بیتی باشه.
پس هیچ کاری نمیخواد انجام بدین

Ananas
جمعه 18 فروردین 1391, 00:09 صبح
سلام.
تا جایی که می دونم نه نمی خواد تغییری بدی چون قبلا این کارو کردم . اگه برنامه تو ویندوز 64 بیتی به حالت 32 بیت کامپایل و ساخته بشه مشکلی پیش نمیاد و اگه به حالت 64 بیتی کامپایل کنی اونوقت خود دلفی اشاره گرها رو به جای 32 بیتی، متغییر های 64 بیتی انتخاب میکنه (با کامپابلر دایرکتیو مشخص میکنه) بازم مشکلی پیش نماد و فکر میکنم فقط اگه شما تو برنامه اشاره گر رو به عدد Integer و یا DWORD تبدیل کرده باشی (از کارای عجیب غریبی که من بعضی وقتا میکنم) باید اونارو مثلا به UInt64 یا Int64 تبدیل کنی. مثلا :
procedure TForm1.Button1Click(Sender: TObject);
var
p4 : array[0..3] of TPoint;
pnt : ^Integer;
I: Integer;
begin
for I := 0 to 3 do
p4[i] := Point(i, i * 20 + 1);
pnt := @p4[0];
//pnt := Pointer(DWORD(pnt) + SizeOf(Integer) * 5);منظورم اینجاست که از دوبل وورد استفاده کردم
pnt := Pointer(UInt64(pnt) + SizeOf(Integer) * 5);
ShowMessage(IntToStr(pnt^));
end;

یا مواردی مشابه.
بازم تاکید میکنم منظورم خود متغیر های Integer نیست و لازم نیست اونا رو به Int64 تغییر بدید فقط اگه لازم بشه باید اشاره گرهایی که باهاشون مستقیما کار میکنید و تغییر میدید رو مواظب باشید که با چیزی که دلفی نسبت به 32 بیت یا 64 بیت تعیین میکنه هماهنگ باشه.
یا مثلا اگه آرایه ای از اشاره گرها داشتته باشید باید دقت کنید که سایز هر عضو آرایه 64 بیت میشه نه 32 بیت که در این موارد هم اگه از SizeOf استفاده کنید مشکلی پیش نمیاد.

asgarkz
جمعه 18 فروردین 1391, 17:13 عصر
با تشکر از دوستان
الان اگر بخوام برنامه ای که دلفی 2010 کامپایل میکنه به صورت 64 بیتی باشه چیکار باید بکنم؟
اصلا امکانش هست؟

سعید صابری
جمعه 18 فروردین 1391, 20:26 عصر
در 2010 نیست ولی در xe2 چنین امکانی هست

asgarkz
جمعه 18 فروردین 1391, 20:35 عصر
delphi xe2 رو چطوری می تونم تهیه کنم؟
کرک شده یا نه؟

سعید صابری
جمعه 18 فروردین 1391, 20:42 عصر
بوسیله Google
این سوال شما خلاف قوانین سایت هست

asgarkz
جمعه 18 فروردین 1391, 21:24 عصر
توی بازار ارومیه پیدا نمیشه
منظورم اینه که توی بازار تهران اومده یا نه؟

سعید صابری
جمعه 18 فروردین 1391, 21:58 عصر
من که بچه تهران نیستم! . خیلی وقتی در ایران موجوده است. در حال حاضر Update 4 اون موجود هست
شما میتونید از سایتهای ایرانی که این محصول ارائه می دهند خرید کنید یا اونو از اینترنت دانلود کنید(در صورتی که در شهرتان موجود نباشه).

Ananas
دوشنبه 21 فروردین 1391, 14:51 عصر
من یه چیزی رو امتحان کرده بودم اینکه اگه به حالت 32 بیت کامپایل بشه فرق میکنه که تو ویندوز 64 کامپایل بشه یا تو ویندوز 32. فرقش اینه که اگه تو ویندوز 32 بیتی کامپایل می کردم تو 64 بیتی برنامه اجرا نمی شد ولی اگه همون فایل رو می بردم تو ویندوز 64 بیتی کامپایل می کردم (البته به حالت 32 بیت) اونوقت هم تو ویندوز 32 هم تو 64 برنامه اجرا میشد هنوزم دلیلشو نمی دونم ولی برای اطمینان میتونید امتحان کنید. با دلفی 2009.