PDA

View Full Version : خطا در هنگام اجرای برنامه



mehdimdp
شنبه 25 اردیبهشت 1389, 12:10 عصر
سلام
من قبلا یک unit به نام proc داشتم که چند تابع که ازاونها توی پروژه ام ازشون خیلی استفاده میکردم داخل اون بود.
حالا اومدم اون توابع رو داخل یک فایل dll قرار دادم و اون توابع رو به صورت زیر در تابع proc تعریف کردم.


function fmsg(payam:string;tip:TMsgDlgType;key:TMsgDlgButto ns):TModalResult; External 'dllproj.dll';
function testq(Fields,Table,Where:String ):TADOQuery; External 'dllproj.dll';
function fstotint(sdate:String;var y,m,d:word):boolean; External 'dllproj.dll';
function fdecode(sdate:String;var y:TEdit;var m:TEdit;var d:TEdit):string; External 'dllproj.dll';
function setd(a,b,c:word):string; External 'dllproj.dll';


ولی در هنگام اجرای برنامه با خطای زیر مواجه میشم و برنامه اجرا نمیشه :


the application was unable to start correctly (0xc000007b). click ok to close the application.


لطفا منو راهنمایی کنید.
باتشکر

AliReza Vafakhah
شنبه 25 اردیبهشت 1389, 16:52 عصر
پارامتر توابع شما که بعضا رشته ای هستند ، باید به جای استفاده از DataType نوع string از PChar استفاده شوند و یا در Unit مربوط به Dll ، یونیت ShareMem را uses کنید.

mehdimdp
دوشنبه 03 خرداد 1389, 11:55 صبح
سلام
من sharemem رو uses کردم. ولی بازهم همون پیغام خطا رو در زمان اجرای برنامه می بینم.
لطفا منو راهنمایی کنید.
با تشکر

AliReza Vafakhah
دوشنبه 03 خرداد 1389, 13:31 عصر
خوب باز هم میتونه مشکل از کد های موجود در این توابع باشه . چون از اشیا استفاده کردید و فکر کنم که در زمان ساخت آنها در dll خطایی به وجود میاد ولی اگر می خواهید مشکلتان حل شود باید یه نمونه کد بگذارید.

function testq(Fields,Table,Where:String ):TADOQuery; External 'dllproj.dll';
function fdecode(sdate:String;var y:TEdit;var m:TEdit;var d:TEdit):string; External 'dllproj.dll';

Felony
دوشنبه 03 خرداد 1389, 15:00 عصر
اگر کدها زیاد نیست قرار بدید تا یه نگاهی بهش بندازیم .