VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請問 Foxpro 如何取得自訂函數的位址指標

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
215001



註冊時間: 2003-06-11
文章: 389


第 1 樓

發表發表於: 星期三 十一月 18, 2009 5:10 pm    文章主題: 請問 Foxpro 如何取得自訂函數的位址指標 引言回覆

請教各位:

一般函數的傳遞參數,都是傳值,或是傳址
那VFP如何傳遞自訂函數的指標 ?


原 VB 部份程式碼如下:

Private Declare Function InternetSetStatusCallback Lib "WININET.DLL" ( ByVal hInternet As Long, ByVal lpfnInternetCallback As Long) As Long
** 第2個參數好像要傳遞自訂函數callback的程式指標

Result = InternetSetStatusCallback(mOpen, AddressOf INTERNET_STATUS_CALLBACK) && 第2個參數應如何寫

Public Sub INTERNET_STATUS_CALLBACK( ...... )
.
.
End Sub
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 2 樓

發表發表於: 星期三 十一月 18, 2009 11:00 pm    文章主題: 引言回覆

VFP好像不用這麼複雜吧
這種方式我自己的程式裡面一大堆叫來叫去的

==========================
aa("TEST,TEST")
FUNCTION aa
LPARA _A
IF ! EMPTY(_A)
MSG(_A)
ENDIF

FUNCTION msg(_c)
_cT=""
IF VARTYPE(_c)="N"
_cT=asn(_c)
ENDIF
IF VARTYPE(_c)="C"
_cT=ALLT(_c)
ENDIF
IF VARTYPE(_c)="L"
IF _c
_cT=".T."
ELSE
_cT=".F."
ENDIF
ENDIF
RETURN MESSAGEBOX(_cT,"系統訊息")
===============================

至於到底可以呼叫幾層
我好像聽是不能超過5層
這部分要請高手回答了
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
215001



註冊時間: 2003-06-11
文章: 389


第 3 樓

發表發表於: 星期四 十一月 19, 2009 9:27 am    文章主題: 引言回覆

LiuRambo 可能誤會我的意思了

我是要將CallBack()自訂函數,傳給其他程式執行的,

並不是在自己的程式內呼叫
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 4 樓

發表發表於: 星期四 十一月 19, 2009 11:58 am    文章主題: 引言回覆

把sub再獨立成另一個dll?
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作