したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

154TOKO:2004/12/11(土) 15:05
API見習い中のTOKOです・・
>例 declare function API_XYZ & lib "ABC" alias "XYZ" ( byval A$ , byval ・・・・ )
上記の場合
API_XYZと&の間に空白が入っていないとしてAPI_XYZ&は自由に変更することができます。
DLLの部分"ABC"および関数名"XYZ"は変数に置き換える人はいないでしょうが
#define Z$ "ABC"
#define W$ "XYZ"
declare function API_XYZ& lib Z$ alias W$ ( byval A$ , byval ・・・・ )でも動きます。

例えば下記のAPIをF-BASICで使いたい場合、
Public Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" _
(ByVal dwExStyle As Long, ByVal lpClassName As String, _
ByVal lpWindowName As String, ByVal dwStyle As Long, _
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal hWndParent As Long, _
ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long

普通、制限文字数に収まるよう下記のように書き換えすネ。

declare function Api_CreateWindowEx& lib "user32" alias "CreateWindowExA" _
(byval dwExStyle&, byval lClassNm$, byval lWinNm$, _
byval dwStyle&, byval x&, byval y&, byval nWidth&, _
byval nHeight&, byval hParent&, byval hMenu&, _
byval hInstance&, byval lParam&)

Ret = Api_CreateWindowEx(・・・・)

極端にいえば

declare function Z& lib "user32" alias "CreateWindowExA" _
(byval A&, byval B$, byval C$, byval D&, _
byval E&, byval F&, byval G&, byval H&, _
byval I&, byval J&, byval K&, byval L&)

Ret = Z(・・・・)

これでも動きますが、制限文字数内でできる限り元の名前を残すようにしています。
http://www.arcpit.co.jp/winapi/api_01/index.htm


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板