PDA

View Full Version : اشکال عجیب در هنگام اجرا از روی سی دی



nassim_20
پنج شنبه 01 شهریور 1386, 00:38 صبح
دوستان عزیز سلام
مشکل من در اجرای برنامه اجرایی از روی سی دی است.
زمانیکه برنامه رو از روی هارد اجرا می کنم مشکلی پیش نمی اید ولی هنگامیه از روی سی دی اجرا میکنم پیغام زیر را میدهد
Invalid file name
در ضمن اضافه کنم که من سه تا بانک از نوع پارادوکس دارم و این پیغام هم سه بار تکرار می شود این پیغام هر زمان که دستور باز کردن جدول داده می شود پیش می اید و در ضمن جدول رو هم باز نمی کنه اما برنامه اجرا می شه.
یه مطلب دیگه اینکه من برای تعریف آلیاز از مسیر فعلی استفاده کرده ام
و نکته دیگر اینکه حتی جدول رو هم در حالت فقط خواندنی گذشته ام
و جالب اینکه قبلا با همین تنظیمات اجرا میشد ولی حالا اجرانمیشه
دوستان اگه کسی میدونه مشکل من از کجاست خواهشا من رو کمک کنه من باید فردا صبح اول وقت پروژه رو تحویل بدم خیلی ضایع است که به یارو بگم که برنامه رو توی سیستمت گپی کن بعد اجرا کن

nassim_20
پنج شنبه 01 شهریور 1386, 01:46 صبح
مشکلم تقریبا حل شد اما خودم هنوز دلیلش رو نمی دونم
جالبه! وقتیکه پروژه روی توی یه پوشه کپی می کنم درون سی دی این خطا رو می ده ولی وقتی پروژه رو در سطح سی دی کپی می کنم درست اجرا میشه
چرا؟؟؟!!!!....

Batman
پنج شنبه 01 شهریور 1386, 07:23 صبح
با سلام
دوست عزیز شما آدرس بانکتون رو چجوری تعریف میکنید
منظورم اینه که مثلا به این شکل هستش
d:\bank\myproject\bank.mdb

nassim_20
پنج شنبه 01 شهریور 1386, 08:28 صبح
بله من آدرس میدهم ولی البته ابتدا آدرس فعلی رو با استفاده از دستور زیر بدست می اورم بعد مسیر بانک رو تعریف می کنم
PathAsli := ExtractFilePath( Application.ExeName );

Batman
پنج شنبه 01 شهریور 1386, 08:46 صبح
با سلام
ببین دوست عزیز شما باید آدرس رو به صورت محلی تعریف کنید
یعنی فقط نام بانک رو بذارید بقیه رو حذف کنید
با این کار برنامه در هر جایی که قرار بگیره بدون بدست آوردن مسیر برنامه اجرا میشه
موفق باشید

Saeid59_m
پنج شنبه 01 شهریور 1386, 09:08 صبح
اگه می خواهید توی پوشه قرار بدین باید یه بک اسلش هم بین اسم فایل و مسیر قرار بدین .

nassim_20
پنج شنبه 01 شهریور 1386, 12:00 عصر
من بانکهایم رو در پوشه bank قرار داده ام زمانیکه این پوشه رو همراه فایل اجرایی در سطح خود سی دی قرار می دهم خطا نمی گیرد ولی وقتی همین ها رو در یک پوشه مثلا Project می ریزم و بعد در سی دی می ریزم خطا میدهد



PathAsli := ExtractFilePath( Application.ExeName );
PathAsli := PathAsli + 'Bank';

Table1.DatabaseName := PathAsli;
Table1.TableName := 'Bank1.DB';


در ضمن همونطور که قبلا گفتم اجرای پروژه بهمین صورت در هارد حتی درون چندین پوشه هم که قرار داشته باشه مشکلی پیش نمی اید فقط در همین حالت است

یه مساله جالب دیگه اینکه زمانیکه برنامه دلفی رو اجرا کردم و مسیر بانکم رو از روی سی دی تعریف کردم اون بانکی که در سطح سی دی بود را شناخت و برنامه کامپایل شد ولی زمانیکه مسیر بانک رو مسیر بانک موجود در پوشه Project رو دادم باز هم همین پیغام Invalid file name رو داد

لطفا اگه می دانید کمکم کنید

Batman
پنج شنبه 01 شهریور 1386, 12:09 عصر
با سلام
ببین دوست عزیز جوابهایی که به شما دادند کاملا گویا هستش
شما مسیر بانکتون رو که تعریف میکنید بنویسید
قاعدتا در انتخاب مسیر مشکل وجود داره
دلیل اینکه برنامه شما از روی هارد در هر جا اجرا میشه به خاطر این است که بانک شما در محل اولیه قرار دارد اگر بانک رو از محل اولیه به یه مسیر دیگر انتقال (move) کنید باز هم خطا میده
موفق باشید

nassim_20
پنج شنبه 01 شهریور 1386, 12:16 عصر
دوست عزیز گفته های شما درست است
منتها من خیلی راههای مختلف رفته ام حتی به قول شما بانک اصلی را تغییر نام داده ام
من قصد اذیت کردن رو ندارم ولی واقعا همین طور است حتی من این پروژه رو روی چندین سیستم دیگر تست کردم همین امروز صبح سی دی رو در سیستمی که حتی دلفی هم نداشت تست کردم و دقیقا بهمین صورت بود از روی سطح سی دی اجرا می شود ولی از درون پوشه اجرا نمی شد حتی در هارد هم کپی نکرده بودم
اگه براتون امکان داره تست کنید

Batman
پنج شنبه 01 شهریور 1386, 12:21 عصر
با سلام
دوست عزیز شما برنامه رو بذارید تا تست کنم