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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.