ارسال مقدار یک متغیر از یک فایل اجرایی mmb به فایل اجرایی دیگر mmb

ameir-hg

Active Member
سلام دوستان. یه پروژه درست کردم که 2قسمت داره :
1- برنامه ی اصلی (main )
2- قسمت معرفی (splash screen)

در واقع دوتا فایل اجرایی دارم که در قسمت شروع برنامه ی اصلی از کد زیر استفاده کردم

HTML:
If (seepage =0) Then
  Run("<SrcDir>\splash_screen.exe","TOPMOST(60000)")
  Pause("26000")
  seepage = 1
End

baghieye codha
.
.
.




متغیر seepage فقط برای اینه که اگر اولین باره که برنامه اجرا میشه صفحه ی splash screen نمایش داده بشه (چون برنامه ی main از چندین صفحه تشکیل شده اگر از این متغیر استفاده نمی کردم هر بار که دکمه ی back رو برای برگشت به صفحه ی اول برنامه ی main میفشردم صفحه ی splash screen به نمایش در می اومد) . Pause("26000") هم برای اینه که بعد از اجرای splash screen موسیقی شروع کنه به پخش.

مشکل من : در صفحه ی splash screen یک دکمه قرار دادم تا اگه کاربر تمایل نداشت که splash screen رو ببینه مستقیماً به صفحه ی اول برنامه ی main وارد بشه اما به علت این که من در برنامه ی main از pause استفاده کردم کاربر معطل میشه. راه حلی که من به نظرم میرسه: همونطور که در قطعه کد بالا معلومه اگر متغیر seepage = 1 باشه pause اجرا نمیشه و من نمیدونم چه جوری به برنامه بفهمونم که وقتی کد زیر رو که در دکمه forward برنامه ی splash screen نوشتم رو اجرا میکنم

HTML:
Run("<SrcDir>\main.exe")


seepage = 1 رو هم به برنامه ی main ارسال کنه؟؟؟؟

ممنون از راهنماییتون
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اینکه چرا از دو فایل مجزا استفاده کردید موضوع بحث نیست، اما برای برقراری ارتباط بین دو فایل اجرایی ساخته شده با MMB چند راه دارید.

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

یعنی برنامه ی دوم در زمان نیاز (مثلاً در شروع برنامه) اون داده در اون محل خاص رو میخونه و بر اساس مقدار تصمیم گیری میکنه.

روش بعد هم این هست که اطلاعات رو مستقیماً به برنامه ی دوم بفرستید. دقیقتر بگم شما میتونید توسط ابزارهای خارجی یک کد خاص رو در برنامه ی دوم (که با MMB نوشته شده) اجرا کنید.
قبلاً یک مثال برای این مورد نوشته بودم که از یک فایل اجرایی که توسط برنامه ی AutoIt نوشته شده بود استفاده می کرد. (عبارت AutoIt رو در پست های ارسالی من جستجو کنید)
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
فک کنم پلاگین SendInfo که جواد عزیز زحمتش رو کشیدن به دردتون بخوره

سرچ کنید هست
 

ameir-hg

Active Member
از AutoIt نمی خوام استفاده کنم. از روش ذخیره ی اطلاعات در فایل تکست می خوام استفاده کنم چون ساده تره . روی این روش کار کردم اما نمیدونم چرا اررور میده!
به همراه این پست یه پروژه اتچ کردم که از نظر تکنیک و روش اجرایی درست شبیه پروژه ی خودمه. لطفاً اگه امکان داره یه نگا بهش بندازید و لطف کنید بگید مشکلش چیه؟ درمونش چیه؟ چرا ارور میده و دل من رو خون میکنه:cool:
اینکه چرا از دو فایل اجرایی جداگانه استفاده کردم هم با این فایل معلوم میشه که قضیش چیه!

سپاس
 

پیوست ها

  • majid.rar
    1.2 مگایابت · بازدیدها: 48

atpf

Active Member
باسلام و عرض ادب
دوست من مشکل پروژه ی شما به خاطر این پارامتر" () TOPMOST " در کد های کلید " BitmapBTN " در فایل "splash screen" هست به این دلیل که شما برای این پارا متر "تایم اوت" تعیین نکردید.


شما اگر این کد را به این صورت بنویسید ان شاءالله مشکلتون حل خواهد شد: "(Run("<SrcDir>\main.exe","TOPMOST(1
 

atpf

Active Member
یا اینکه اگر نیاز نیست اصلا قسمت پارامتر رو خالی بذارید.
 

پیوست ها

  • majid.zip
    1.2 مگایابت · بازدیدها: 31
آخرین ویرایش:

جدیدترین ارسال ها

بالا