PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
17509 | 02/06/06 10:44:21 | PB7.0: VC6.0C++で作成されたDLLの使用の仕方は? By DeruaRirun |
カテゴリ:スクリプトの記述
日付:2002年06月06日 10:44 発信者:DeruaRirun
題名:PB7.0: VC6.0C++で作成されたDLLの使用の仕方は?
こんにちは、よろしくです。
うまく外部の関数を使えないので教えてください。
---------------------------------------------------------
<ヘッダファイル> add.h
#ifdef ADD_EXPROTS
#define ADD_API __declspec(dllexport)
#else
#define ADD_API __declspec(dllimport)
#endif
#ifdef __cplusplus
extern \"C\" {
#endif
ADD_API int __stdcall add( int 1, int b )
#ifdef __cplusplus
}
#endif
---------------------------------------------------------
<ソースファイル> add.cpp
#include \"stdafx.h\"
#include \"add.h\"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
ADD_API int __stdcall add( int a, int b )
{
return a + b ;
}
---------------------------------------------------------
<PB での記述>
local extern の所で
FUNCTION long add ( long a, long b ) LIBRARY \"add.dll\"
---------------------------------------------------------
と書いてボタン部で
LONG a, b , Ans
a,b はsleからデータをもらって
Ans = add( a, b )
というところで落ちてします。
なぜかアドバイスお願いします。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Sybase SQL Anywhere Client
Browser (記載なし)
Server SoftWare
OS Windows NT 4.0
DBMS Adaptive Server Anywhere 6.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.