PDA

View Full Version : ارر Object reference not set to an instance of an object. در هنگام اجرا



sara_aryanfar
سه شنبه 05 مهر 1390, 23:21 عصر
با سلام دوستان من هر بار که می خوام کد زیر رو اجرا کنم یه ارر میده
HtmlElement el = webBrowser1.Document.All[uid].Children[0];
el.InvokeMember("onclick");
متن ارر
Object reference not set to an instance of an object.]

jeson_park
چهارشنبه 06 مهر 1390, 01:36 صبح
معمولا وقتی این اتفاق میفته که یه متغییر مقدار دهی نشده باشه و یا حافظه ای براش در نظر گرفته نشده باشه
شما اول HtmlElement رو new کنید بعد مقدار webbrowser رو بریزید توش

sanay_esh
چهارشنبه 06 مهر 1390, 01:49 صبح
در اینجور مواقع یک متغیر قبل از اینکه New بشه مقدار دهی شده

میتونید با New کردن متغیرهایی که مقدار دهی میشوند از خطای ایجاد شده جلوگیری کنید

sara_aryanfar
چهارشنبه 06 مهر 1390, 11:25 صبح
چطور باید اینکارو بکنم وقتی نیو میزارم جلوش ارر میده

gwbasic
چهارشنبه 06 مهر 1390, 11:50 صبح
ببینید این مشکل شما خیلی عمومیه و راه برخورد با اون هم خیلی سادس ، باید Debug کنید روی این خط Breakpoint بذارید بعد برنامه رو اجرا کنید وقتی رسید سر این خط با موس روی تک تک متغیر ها برین ببینید کدوم null هستش مثلا webBrowser1 و بعد
Document و ...

sara_aryanfar
چهارشنبه 06 مهر 1390, 12:20 عصر
من این کار رو کردم و نشون داد el نال هست در حای که من دارم وب براوزر رو داخلش می ریزم چطور باید برطرفش کنم

gwbasic
چهارشنبه 06 مهر 1390, 13:21 عصر
el ، نال هست یعنی Children[0] نال هست پس معلومه Children ای وجود نداره اینو دیگه باید خدتون بررسی کنید که توی Document تون چی هست.

sara_aryanfar
چهارشنبه 06 مهر 1390, 14:21 عصر
ببینید داخل لینکی که پائین میزارم تعدادی خبر وجود داره که تو هر کدوم هم یک دکمه داغ کن به حالت مخفی هست وقتی موس میره روش نمایش داده میشه من تقریبا هر روشی رو تست کردم اما نتونستم روش کلیک کنم ایدیشو درآوردم اما هر چی می خوام روش کلیک کنم اینطوری میگه نال هست یعنی واقعا هیچ روشی وجود نداره ؟
http://www.cloob.com/clubname/excuse

ACorvinus
چهارشنبه 06 مهر 1390, 15:38 عصر
با سلام دوستان من هر بار که می خوام کد زیر رو اجرا کنم یه ارر میده
HtmlElement el = webBrowser1.Document.All[uid].Children[0];
el.InvokeMember("onclick");
متن ارر
Object reference not set to an instance of an object.]

سلام.
برنامه رو وقتی میرسه به این دو خط، Trace کن. اگه در خط اول خطا بده فکر کنم انتساب دادنتون مشکل داره. ولی اگه در خط دوم خطا داد اونوقت یه کم بحث داریم....

sara_aryanfar
چهارشنبه 06 مهر 1390, 16:54 عصر
وشما می تونین یه نمونه کد بهم بدین که بتونه روی اون دکمه که در لینک بالا گذاشتم کلیک کنه منظور باتن داغ کن که در پائین در آخر هر خبر هست خیلی روش وقت گذاشتم خواهش می کنم یه کمکی کنید

Farshid007
چهارشنبه 06 مهر 1390, 17:00 عصر
در ضمن
احتیاج نیست که HTMLElement بسازید
webBrowser1.Document.All[uid].Children[0].InvokeMember("onclick");

sara_aryanfar
چهارشنبه 06 مهر 1390, 17:57 عصر
بازم همون ارر رو داد
75954

ظاهرا هیچ کس نمی تونه رو این باتن کلیک کنه و این کار نشدنی هست

Babak-Magic
چهارشنبه 06 مهر 1390, 21:49 عصر
اینو امتحان کن
HtmlElementCollection el = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement el1 in el)
{
if (el1.Name == "btnSubmit")
{
el1.InvokeMember("click");
return;
}

}

sanay_esh
چهارشنبه 06 مهر 1390, 22:20 عصر
بنده یه سوال داشتم
میخواهید دقیقا مثل آدرسی که گذاشته اید یه دکمه بذارید که روی آن کلیک بشه و یه سری پارامترها و مقادیر را ارسال کنید ؟
کمی بیشتر در مورد کاری که دقیقا میخواهید توضیح بدید شاید بتونم کمکتون کنم !!

sara_aryanfar
چهارشنبه 06 مهر 1390, 22:21 عصر
این کلیک رو روی داغ کن انجام نمیده چون وقتی روی داغ کن کلیک کنیم یه فرم کوچک باز میشه یه بار خودتون تست کنید