PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23899 12/09/29 15:09:31 RE(1):コマンドライン引数の外部関数について By めめ
23898 12/09/19 13:44:36 コマンドライン引数の外部関数について By kouz

カテゴリ:PowerBuilderの開発環境
日付:2012年09月29日 15:09 発信者:めめ
題名:RE(1):コマンドライン引数の外部関数について

kouzさん、こんにちは。

>取得したいのは、C関数のAddr[2],Addr[3],Addr[4],Addr[5]の内容です。

ローカル外部関数 SUB の引数は int と string ですが、
C関数の配列変数は数値タイプになっていませんか?

とりあえず、PowerBuilder 側の記述にあわせて文字配列としてみました。

あと、関数のエクスポートも必要になりますね。(DEFファイル or __declspec(dllexport))
# こちらは DEF ファイルでエクスポートしました。

外部関数についての詳細は、アプリケーションテクニックマニュアルの第21章にある
外部関数の使い方を参照してみてください。


【ローカル外部関数】
FUNCTION uint SUB( int argc, ref string buff[] ) LIBRARY \"SUB.DLL\" ALIAS FOR \"SUB;Ansi\" 

【関数】
string buff[]
Long ll_idx

/* 十分な領域の確保が必要です */
For ll_idx = 1 To 5 ; buff[ll_idx] = Space(30) ; Next

SUB( 5, buff[] ) 

【C関数(SUB)】

#include 
#include 

unsigned short _stdcall sub(int argc, _TCHAR* Addr[]){

 /* 必要な処理 */

return 0 ;
}



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

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