none
TIMER與MSCOMM元件搭配使用的問題 RRS feed

  • 問題

  • 大大你們好

    小弟目前在撰寫程式執行測試時會有個BUG

    EX:

    A表單

    在timer元件下我執行

    MSComm1.portopen=ture

    MSComm1.output=SXD$

    RXD$=MSComm1.input

    X_BYTE$=mid(RXD$,7,4)

    X_BIT%=CInt(X_BYTE$)

    MSComm1.portopen=false

    B表單中

    在Command 元件下chick()中執行

    MSComm1.portopen=ture

    MSComm1.output=SXD1$

    MSComm1.portopen=false

    B表單為A表單的子目錄

    B表單執行時會將A表單hide起來

    當我在B表單中

    壓Command元件執行程式時,會造成X_BIT% 資料型態不符,由中斷查知 RXD$字串輸出異常造成X_BIT% 資料型態不符

     

    我試著在A表單的unload()下將 timer1.Enabled=FLASE ;load()再將其設為timer1.Enabled=ture

    將2個表單內的MSComm元件設為不同編號 ,結果還是一樣

     

    請問大大這各情況該如何解決呢??

     

    2008年8月27日 上午 02:35

解答

所有回覆

  • HI,

     

    有可能是在TIMER在定時控制下造成程式碼重覆執行, 您可以參考以下的範例:

    http://www.programmers-corner.com/sourcecode/111

     

    tihs

     

    2008年8月27日 上午 06:17
  • 請問

    若我在利用 unload me

    來關閉from可以嗎??因為VB只是一個監控介面

    因為timer在執行時很耗系統資源。。所以我想在表單隱藏或關閉時將timer元件控制關閉

    2008年8月27日 上午 06:41
  • HI,

     

    VB6的Unload Me不是隱藏FORM, 而是將FORM丟棄, FORM如果被丟棄, FORM1的控制項也會不見, 如果控制項還要使用, FORM就不可以丟棄

     

    tihs

     

    2008年8月28日 上午 02:37
  • 以現況來說 每個表單的控制項是都不會共用,所以先期我先用unload me來解決

    等我把大大給的範例弄懂在行修改

    感謝大大的提供

    2008年8月28日 上午 03:11