رفتن به مطلب
  • 0

تفاوت CallSub و CallSubDellayed در چیست ؟


حمید زارع

سوال

تفاوت CallSub و CallSubDellayed در چیست ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

18 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

دستور if اومدید GetString کردید ولی برابر با یک INt قرار دادید (0).

همین حالتو هم توی حلقه Do While انجام دادید.

و این کوئری رو اینطور بنویسید :

("SELECT * FROM Subjects WHERE Id="&id)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

من اومدم کل کدهای Getfullname را حذف و فقط کد زیر رو اضافه کردم

Msgbox(id,"")

ولی بازم توی همون خطی که بالا می بینید خطا میده

اصلاً کلاس اجرا نمیشه که خطا بده

!!!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شما کلاسو Initialize کردید آیا ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه متاسفانه !!!!

یعنی اشکال از اینه ؟!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آقای آرتا بسیار از صبر و حوصله شما سپاسگزارم

اشکال همین بود

راستش من vb6 و vb.net فقط کار کردم و این جور اشکالها زیاد دارم

ممکنه کمی Initialize رو توضیح بدید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

Initialize : میاد کلاس مورد نظر رو تعریف میکنه توی برنامه.

نمیدونم چطوری بهتون بگم یعنی لازمه که هرکلاسی چیزی یا لایبرری چیزی که متغییرشو مینویسید کلاسشو بسازید یا به گونه ای اینیشیالیز کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 - id هست دیگه

این مقدار متغیر هم میتونه باشه

اینو میگیره میره مثلا نام معادل این آی دی رو از دیتابیس در میاره ومیذاره توی یه متغیر public

که بتونم از اکتیویتی دیگه استفده کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میتونید از Class Module یا Code Module استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تفاوتش توی تعداد آرگومان های تابع هاست.بستگی داره تابعتون چندتا آرگومان داشته باشه تا شما از کدوم استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کلاس هم تعریف کردم (فایده نداشته خطا میده) حالا کدهاشو براتون میزارم

پس کدهای بالا ایرادی نداره ؟!!!

CallSubDelayed (Component As Object, Sub As String)

اینجاComponent حتما باید نام اکتیویتی باشه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مطمئنید ؟

خوب مثلاً callsub2 یک آرگومان میگیره و callsubdelayed2 هم یک آرگومان میگیره .

فرقشون چیه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

Componnet باید اسم اکتیویتی و Sub هم اسم تابع.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ی کلاس تعریف کردم با نام MyClass

attachment.php?attachmentid=2023&stc=1

اینجوری هم ازش استفاده کردم

attachment.php?attachmentid=2024&stc=1

ولی خطا میده !!!

attachment.php?attachmentid=2025&stc=1

attachment.php?attachmentid=2026&stc=1

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منظورتون از مطمعنین نمیدونم چیه حالا یا من فکر بد کرم یا ن (که ما رو گرفتین)

فرقشون با یه مثال بهت میزنم تا بیشتر درکش کنی

CallSubDelayed2(ImgDow, "Download", links)
CallSub(ImgDow, "IsPaused")

به اینصورت خوب هموجور که میبینی اینجا توی قسمت اولی سه آرگومان داره

ارگومان اول و سوم یه مقداری از نو آبجکت میگیرن که من یکی لینک که از نوع مپ هستش دادم و یه ایمج که ماژول من هست که به اینا میشه گفت آبجکت

و دومی هم یه آرگومان میگیره واسه قسمتی که که دیگه کار اون ماژول تموم میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بنده یک لحظه فکر کردم میگید CallSub و CallSub2.

ببینید شما از CallSub میتونید توابع همون اکتیوتی که حضور دارید رو صدا بزنید.

ولی CallSubDelayed میتونه توابع اکتویتی های دیگه رو هم صدا بزنه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید من یه Public Sub نوشتم یه مقدار int هم می گیره

Public Sub GetFullName(id As Int)

کدهایی که داخل این Sub نوشتم میاد یه رشته رو از داخل دیتابیس با توجه به ID برام میگیره و داخل یه متغیربه نام Str میذاره

این Sub رو تو اکتیویتی Main نوشتم

اینجوری صداش میکنم :

callsubdelayed2(main,"GetFullName",10)

حالا میگم که اون مقدار متغیر رو بزار توی این آبجکت

TxtDes=Main.Str

ولی اصلاً کار نمیکنه

حالا بگید من کجا رو دارم اشتباه میکنم ؟؟؟؟!!!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...