ورود

View Full Version : Call Function



alphajoza
پنج شنبه 24 مرداد 1387, 18:14 عصر
با عرض پوزش خدمت دوستان اگه جوابی برای این تاپیک هست ادرس بدید.من که چیزی پیدا نکردم.

من یه مشکل دارم(سه تا).
1.چه طوری میشه یک function را صدا زد.(منظورم گزینه add reference نیست.یک dll مدیریت نشده).دقت کنید نحوه ی پیاده سازی کد مهمه.
2.به طبع چه جوری call back رو از function بگیریم.
3.از کجا تعداد و نوع argumentsهای ورودی و خروجی function رو بدونیم.:متفکر:

ali_md110
پنج شنبه 24 مرداد 1387, 22:51 عصر
منظور شما اگر اینه
تابع مقدار بر میگردونه و جوابی که میده رو باید تحویل گرفت حالا ممکنه مقدار برگشتی تابع در متغیر یا یک شی دیگه بریزیم و استفاده بکنیم
معمولا آرگومانهای یک تابع با باز کردن پرانتز جلو تابع قابل مشاهده هست

Public Function Addnew(ByVal table As String, ByVal fildName As String) As Integer


TextBOx1.text= = Addnew("talbe1", "fileld1")
تابع فوق مقدار رو در یک تکست باس نشون میده

alphajoza
جمعه 25 مرداد 1387, 10:45 صبح
شما منظور من رو متوجه نشدید.من راجع به توابع داخلی صحبت نمی کنم.بلکه فرض کنیم که من یک dll دارم که از طریق add reference قابل وارد کردن به برنامه نیست.دراین فایل یک یا چند تابع وجود دارد.من نحوه ی کد نویسی برای صدا زدن اون توابع رو می خواهم.

DarkSoroush
شنبه 26 مرداد 1387, 03:06 صبح
شما منظور من رو متوجه نشدید.من راجع به توابع داخلی صحبت نمی کنم.بلکه فرض کنیم که من یک dll دارم که از طریق add reference قابل وارد کردن به برنامه نیست.دراین فایل یک یا چند تابع وجود دارد.من نحوه ی کد نویسی برای صدا زدن اون توابع رو می خواهم.


<DllImport("dllname.dll")> _
Public Shared Function functionname(ByVal arg1 As Integer, ByRef arg2 As String) As Integer
End Function
در ضمن نمیتونید از ارگمونها و مقدار برگشتی خبر دار بشید مگر بهتون قبلا اطلاع داده شده باشه.

reza6384
شنبه 26 مرداد 1387, 10:48 صبح
من سوال شما رو متوجه شدم. اما جوابشو نمیدونم.
حالا که اینجا بحث شد، این سوال رو می خوام بپرسم که چرا بعضی Dll ها توی برنامه Add نمیشن؟ فکر میکنم یه دلیلش این باشه که با زبان دیگه ای نوشته شده باشن. مثلا Dll ای که با Vb.Net2005 ساخته شده، توی Vb6 قابل استفاده نباشه. یعنی می خوام بدونم آیا این درسته یا اینکه توابع Dll مستقل از زبان پیاده سازی هستن و همه جا می تونن استفاده بشن.

alphajoza
شنبه 26 مرداد 1387, 15:08 عصر
ممنون از جوابت DarkSoroush.