ایران سرفراز- نرم افزار وپروژهای دانشجویی


نرم افزار وپروژهای دانشجویی

بررسی رویدادهای مربوط به DDE ... )))))))))))) رویداد LinkNotify

<!-- /* Font Definitions */ @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:1627421319 -2147483648 8 0 66047 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:right; mso-pagination:widow-orphan; direction:rtl; unicode-bidi:embed; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0; mso-gutter-direction:rtl;} div.Section1 {page:Section1;} -->

 

بررسی رویدادهای مربوط به DDE   ... ))))))))))))

 

 

 

رویداد LinkNotify   : این رویداد وقتی فراخوانی میشود که محتویات کنترل تعیین شده در LinkItem  تغییر کرده باشد .

یادآوری میشود که برای استفاده از این رویداد باید LinkeMode با مقدار  3 تعیین شده باشد . در واقع این رویداد تغییر محتویات

کنترل مورد نظر در برنامه منبع را به برنامه مقصد اعلام میکند !

 

رویداد LinkClose   : این رویداد وقتی فراخوانی میشود که ارتباط وصل شده DDE  به هر دلیلی قطع شود ." مثلا یکی از برنامه های  منبع یا مقصد بسته شود "

 

رویداد LinkError   : اگر در طی ارتباط DDE Conversation  خطایی رخ دهد این رویداد فراخوانی میگردد و شماره خطا به

 عنوان پارامتر و آرگومان این رویداد ارسال میشود .

 

رویداد LinkOpen   : دیگه معلومه .... وقتی که ارتباط DDE  مقدار دهی شود و ارتباط برقرار شود این رویداد فراخوانی میشود .

 

خاصیت LinkTimeOut   :

 

مدت زمانی که طول میکشه تا اطلاعات از یک برنامه به یک برنامه دیگه منتقل بشه در کامپیوتر های مختلف متفاوت میباشد

این زمان به حجم داده اطلاعاتی و سرعت کامپیوتر و حافظه آزاد کامپوتر و .... بستگی داره اگر برنامه ای در مدت معین شده در این خاصیت اطلاعات خود را نتواند انتقال دهد برنامه با خطا مواجه میشود .

مقدار پیشفرض این خاصیت 50 است که بع اندازه تقریبا" 5 ثانیه میباشد و مقدار مناسبی برای این خاصیت میباشد .

 

 

متد LinkPoke   :

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

با استفاده از این دستور میتوانید مثلا" متنی را به برنامه دیگر بفرستید و نتیجه را در TextBox  برنامه منبع مشاهدا کنید .

 

 

متد LinkSend   : این دستور اطلاعات کنترل PictureBox  را به برنامه مقصد میفرستد ... این دستور همان کار

 LinkRequest را انجام میدهد با این تفاوت که در LinkRequest درخواست انتقال اطلاعات از کنترل منبع به مقصد از طرف برنامه مقصد صورت میگیرد ولی در LinkSend   درخواست انتقال اطلاعات باز هم از کنترل منبع به مقصد از طرف برنامه منبع صورت میگیرد .

 

 

متد LinkExecute   : این دستور رشته ای را از یک برنامه  ( منبع یا مقصد ) به برنامه دیگر میفرستد .... اما چگونه این رشته رو در برنامه دیگر دریافت کنیم ؟ با استفاده ار رویداد LinkExecute    در برنامه دیگر

این دستور یک پارامتر ورودی از نوع String  دارد که رشته مورد نظر را تعیین میکند .

 

رویداد LinkExecute     : این رویداد به محض ارسال رشته ای از برنامه دیگر در ارتباط DDE  اتفاق میافتد

و این رویداد دو پارامتر دارد که اولی رشته فرستاده شده و دومی Cancel  میباشد که نشان میدهد آیا برنامه رشته را پذیرفته و دریافت میکند یا نه ؟؟؟؟

 

یه مثال میزنم  فرض کنید برنامه مقصد به وسیله کد زیر دستوری را به برنامه دیگه میفرسته

 

Private Sub Command2_Click()

Text1.LinkExecute "WWW.afshinvblog.persianblog.com"

End Sub

 

و در برنامه منبع هم کد زیر رو داریم :

 

Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)

 

Me.Caption = CmdStr

Cancel = False

End Sub

 

همینطور که میبینید CmdStr رشته ای را در Caption فرم نمایش میدهد که با LinkExecute فرستاده شده بود

در اینجا اگر پارامتر Cancel رو بعد از اینکه مقدار فرستاده شده را دریافت کردیم False نکنیم با خطا 285 مواجه میشویم ...

 

 

   + MOHSEN GHASEMI - ٥:۳٩ ‎ب.ظ ; ۱۳٩٠/۱/٩