ورود

View Full Version : سوال: استفاده از فایل dll که در سی شارپ نوشته شد



alizamen
دوشنبه 04 شهریور 1392, 12:27 عصر
با سلام چگونه می توان از فایل dll در ویژوال فاکس پرو استفاده کرد .مثلا تابعی در سی شارپ نوشته ایم که دو عدد را با هم جمع می زند و این پروژه را به عنوان فایل dll ذخیره کرده ایم حال اگر بخواهیم از این تابع در فاکس پرو استفاده کنیم چکار باید بکنیم ؟ با تشکر از راهنمایی شما.

farhad_shiri_ex
سه شنبه 05 شهریور 1392, 07:57 صبح
با دستور Declare و همچنین دستورات OOP مثل CreateObject یا Newobject البته به dll تون بستگی داره در دستور declare نیازی به رجیستر کردن dll نیست البته نه همیشه اما در دستورات Oop حتما باید Dll تون تو ویندوز رجیستر بشه بعد از استفاده از دستورات فوق می توانید به توابع داخل dll تون دسترسی داشته باشید به همین سادگی ....

alizamen
سه شنبه 05 شهریور 1392, 21:30 عصر
با سلام اگر از دستور declare استفاده کنیم چگونه می توان به متدهای درون فایل dll دسترسی پیدا کرد؟مثلا متدی داریم به اسم sum که مقدار دو عدد را باهم جمع می زند و نتیجه را برمی گرداند ؟ با تشکر

farhad_shiri_ex
چهارشنبه 06 شهریور 1392, 19:47 عصر
دوست عزیز (متد) ؟؟ یا منظورتون یه تابع برگشتی بود چون نحوه عملکرد این دو متفاوت می باشد یعنی اینکه اگر شما یک اکتیو ایکس نوشته اید می توانید با رجیستر کردن در ویندوز و assign کردن OLE مورد نظر به یک متغیر با استفاده از دستور CreatObject می تونید یک شی از OLE تون داشته باشید که تمام خواص اونو به ارث برده و خیلی راحت هر جا که لازمه صداش می کنید .
ولی اگه منظورتون یه تابع است که می تونید با دستور Declare نام تابع و پارامتر های اونو در حافظه بار کنید هر جا هم که لازم شد نام تابع داخل اونو صدا بزنید با پارامترهای اون تابع البته تابع SUM که گفتید که Reserved Word نه تو V-fox بلکه خیلی جاهای دیگه برای همین بهتره نام تابع تونو تغییر دهید.
البته اگه تو خود ویژوال فاکس بخواهید DLL بسازید فقط امکان COM Server ساختن DLL وجود داره یعنی یک کلاس OLE PUBLIC که حتما باید رجیستر بشه کلا V-fox قدرت ساختن DLL های غیر از OLE PUBLIC رو نداره که البته کار خوبی هم نیست وقتی ++VC هست
البته اینطور هم که نوشته اید احتمالا یک تابع برگشتی دارید که تو #C به صورت DLL کامپایل کردید اگه اینطوره که کافی با دستور Declare اونو به حافظه بار کنید هر جا هم که لازم شد کافی عین نام تابع صداش کنید این پروسه مختص به V-fox نیست تو هر محیط دیگه ای هم به همین نحو هستش تو VB VC Delphi فرقی نداره