PDA

View Full Version : سوال: عدم اجرای برنامه در کامپیوتر مقصد؟؟؟؟؟



nilidelphi
یک شنبه 17 فروردین 1393, 16:38 عصر
با سلام
نیاز فوری دارم به جواب....
من یه برنامه ساده با دلفی 2010 نوشتم که از دیتابیس SQLite استفاده میکنه
من برای برقراری ارتباط با دیتابیس از UniDAC استفاده میکنم
وقتی برنامه رو در کامپیوتر خودم اجرا میکنم بطور صحیح اجرا میشه ولی................................ی
وقتی برنامه رو به یه کامپیوتر دیگه(ویندوز 32 بیتی و 64 بیتی) کپی میکنم برنامه اصلا اجرا نمیشه و همون صفحه معروف ویندوز که آیا به مایکروسافت گذارش کنم یا نه ظاهر میشه.

مشکل کارم از کجاست؟؟؟؟
چرا در کامپیوتر مقصد اجرا نمیشه؟؟؟

با تشکر از جواب ها

nilidelphi
دوشنبه 18 فروردین 1393, 07:51 صبح
دوستان خواهشا اگه کسی میدونه جواب بده
چطور میشه از SQLite در کامپیوتر مقصد استفاده کرد؟؟؟
برنامه من در کامپیوتر خودم مشکلی نداره ولی وقتی به یه کامپیوتر دیگه میبرم اجرا نمیشه و خطا میده

zidane
دوشنبه 18 فروردین 1393, 09:20 صبح
احتمالا از ocx یا dll ای استفاده کردی که توی سیستم مقصد وجود نداره

nilidelphi
دوشنبه 18 فروردین 1393, 09:29 صبح
آخه من از چیزی استفاده نکردم که؟؟؟
من فقط برنامه رو به یه دیتابیس SQLite متصل کردم و از کامپوننت UniDAC استفاده کردم فقط همین

یوسف زالی
دوشنبه 18 فروردین 1393, 09:44 صبح
سلام. قبلا مشکلی شبیه این رو دیده بودم.
به احتمال زیاد Connection شما هنگام کامپایل open مونده.
کانکشنتون رو ببندید و بعد از بالا اومدن برنامتون بصورت ران تایم اون رو باز کنید.

nilidelphi
دوشنبه 18 فروردین 1393, 10:46 صبح
دوست گرامی
You-See (http://barnamenevis.org/member.php?70247-You-See)
من این کار رو هم کردم یعنی کانکشن رو در زمان اجرای برنامه کانکت کردم ولی مشکلم حل نشد
آخه این مشکل از چی میتونه باشه؟؟؟
مگه SQLite تبلیغ نمیکنه که بدون نیاز به نصب هیچ برنامه اضافی؟
پس چرا در کامپیوتر مقصد اجرا نمیشه؟

کامروا
دوشنبه 18 فروردین 1393, 10:58 صبح
دوست گرامی
You-See (http://barnamenevis.org/member.php?70247-You-See)
من این کار رو هم کردم یعنی کانکشن رو در زمان اجرای برنامه کانکت کردم ولی مشکلم حل نشد
آخه این مشکل از چی میتونه باشه؟؟؟
مگه SQLite تبلیغ نمیکنه که بدون نیاز به نصب هیچ برنامه اضافی؟
پس چرا در کامپیوتر مقصد اجرا نمیشه؟
من با SQLite کار نکردم ولی...
برای اجرا در کامپیوتر مقصد نیاز به DLL هایی داره که باید در کنار فایل اجرایی برنامه قرار داشته باشند.
اگر اشتباه نکنم این ۲ فایل :
sqlite3.dll
SQLite.Interop.dll

nilidelphi
دوشنبه 18 فروردین 1393, 11:32 صبح
دوست گرامی کامروا
من فایل sqlite3.dll رو کنار برنامه اجرایی در پوشه برنامه گذاشتم ولی بازهم اجرا نشد
ولی فایل
SQLite.Interop.dll رو ندارم و از اینترنت هم نتونستم پیدا کنم اگه امکانش هست برام بزارید
در ضمن آخه من از کامپوننت UniDAC استفاده کردم که شرکت سازنده اش میگه که نیازی به هیچ فایل یا دی ال ال اضافی نیست
حالا نمی دونم چرا تو کامپیوتر مقصد اجرا نمیشه.

در ضمن اگه قراره که چندتا فایل کنار برنامه باشه که اونوقت تو کامپیوتر خودمم که نباید اجرا بشه که؟؟؟؟ پس چرا تو کامپیوتر خودم راحت اجرا میشه
دارم دیوونه ئمیشم چرا اجرا نمیشه آخه....
من هر راهی رو که میتونستم انجام دادم دیگه نمیدونم چیکار باید کنم

یوسف زالی
دوشنبه 18 فروردین 1393, 12:30 عصر
اون چیزی که شرکت داره می گه منظورش درایور های اتصاله نه درایور های انجین.
شما باید فایل های مرتبط برای انجین مربوطه رو همراه با برنامتون داشته باشید، یا امبد کنید..
این ایراد فقط روی اون سیستم هست یا تمام سیستمها جز سیستم شما؟

zidane
سه شنبه 19 فروردین 1393, 22:35 عصر
داخل فایل dpr برنامه قبل از ساخت هر فرم یک متنی رو داخل فایلی کنار برنامه بنویس تا بفهمی روی کدوم خط اجرا متوقف میشه
در ضمن اگه روی دلفیت CnPack نصب کرده باشی باهاش یک برنامه به اسم Relation Analyzer نصب میشه که هر فایل اجرایی رو که بهش بدی، مشخص می کنه که برای اجرا به چه فایل هایی نیاز داره

nilidelphi
چهارشنبه 20 فروردین 1393, 07:16 صبح
دسته همگی درد نکنه که بهم پاسخ دادین
ولی خودم مشکل رو پیدا کردم
برای اینکه برنامه در کامپیوتر مقصد بتونه کار کنه باید
sqlite3.dll در پوشه system32 کپی میکردم برای همین تو برنامم قبل از اتصال چک میکنم که آیا این فایل در پوشه system32 هست یا نه .
وقتی این فایل در پوشه ای که گفتم باشه برنامه به راحتی اجرا میشه