PDA

View Full Version : run mthode of remote dll



arashmidos2020
یک شنبه 25 مرداد 1388, 05:02 صبح
چطور می شه متد داخل dll رو اجرا کرد بدون اینکه اونو تو برنامه داشته باشیم.فرض کنید یک برنامه داریم که میاد مت main رو برای dll در یک threadStart قرار می ده.حالا ممکنه هر dll دیگه ای که در یک دایرکتوری مخصوص قرارداده شده بخواهیم همچین کاری با آنها بکنیم.من قسمتی از کد رو می ذارم که ببینید.مشکل من اینجاست که نمی تونم به threadstart بگم که فلان متد رو از dll اجرا کن!
کمک کنید،ممنون


Process mainProc=new Process();
mainProc.StartInfo.FileName=path;
mainProc.StartInfo.Verb="currentJob";
Type type= Type.GetType(mainProc.StartInfo.FileName);
MethodInfo mainMethod= type.GetMethod("main");
//***********************************
m_modules[1]= type.Module;
//***********************************
Process ExecuteProc=new Process();
//ExecuteProc.StartInfo.FileName=path;
//ExecuteProc.StartInfo

foreach (ThreadStart start in m_starts)
{
//start=new ThreadStart(main methode);
start= new ThreadStart(???);
}

arashmidos2020
یک شنبه 25 مرداد 1388, 05:03 صبح
اگر متوجه نشدید بگید بیشتر توضیح بدم.واقعا کمک بزرگی می کنید

arashmidos2020
یک شنبه 25 مرداد 1388, 12:17 عصر
کسی نیست جواب بده؟

meysam_pro
یک شنبه 25 مرداد 1388, 12:51 عصر
بدون اینکه اونو تو برنامه داشته باشیم
منظورتون چیه؟ اگه میخاین برنامه تون Plug-In و ... داشته باشه که باید بین DLL و برنامه شما یه قراردای باشه، مثلا واسه مدیریت رویدادها ، اضافه کردن یه منو و ...
اگه چیزه دیگه ای مد نظرتونه ، مطرح کنید.

arashmidos2020
یک شنبه 25 مرداد 1388, 13:25 عصر
ببینید:من یک برنامه می خوام بنویسم که بیاد یک dll رو از کاربر بگیره و اجرا کنه.حالا به هر طریق بجز اینکه اون بالا بهش رفرنس بدم

meysam_pro
یک شنبه 25 مرداد 1388, 13:35 عصر
اگه هیچ اطلاعی از پیاده سازی یک DLL ندارین، نمیتونید ازش استفاده بکنین، مگر اینکه Desource بکنید.

arashmidos2020
یک شنبه 25 مرداد 1388, 14:09 عصر
شما فرض کنید یک documention کامل از dll داریم.فقط می خوام اجراش کنم.با methodINfo می شه اسمه کامل همه چیشو بدست آورد اما در threadStart نمی دونم چی بذارم.