PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
16180 | 01/09/04 10:02:12 | RE(13):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ryochan |
16178 | 01/09/03 20:00:48 | RE(12):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
16176 | 01/09/03 19:36:38 | RE(11):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ryochan |
16173 | 01/09/03 17:34:45 | RE(10):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
16172 | 01/09/03 17:20:18 | RE(9):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
16171 | 01/09/03 17:17:50 | RE(8):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By まつだ |
16169 | 01/09/03 15:03:59 | RE(7):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ryochan |
16168 | 01/09/03 14:13:46 | RE(6):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
16167 | 01/09/03 13:24:20 | RE(5):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By M.M |
16166 | 01/09/03 12:37:56 | RE(4):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
16165 | 01/09/03 12:20:24 | RE(3):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
16163 | 01/09/03 11:16:37 | RE(2):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By M.M |
16162 | 01/09/03 09:54:10 | RE(1):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ryochan |
16161 | 01/09/02 15:45:14 | PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用 By ykano |
カテゴリ:スクリプトの記述
日付:2001年09月03日 12:37 発信者:ykano
題名:RE(4):PB7.0: 外部関数の引数に構造体メンバを持つ構造体の使用
ryochanさん、こんにちは。
コメントありがとうございます。 (^o^)
ryochanさんの示してくれた通り、やってみたら、struct_test->struct1.bの値は
外部関数側で正常に表示できました。
で、もともとの私が書いていたとおり、longのところをcharにしたら、落ちてしまいました。
(C側 char型
PB側 character型
を使用。)
構造体のメンバの構造体にchar型のメンバを入れた場合だけでなく、引数で渡した構造体のメンバに
直接(?)char型のメンバを入れても同じです。
外部関数の引数には、構造体メンバにchar型は使用できないのでしょうかね。
私が試したのは以下の通りです。
--- 外部関数(C) ---
typedef struct INREC_DEF{
char CTRLAREA;
char *CJG002;
} INREC_DEF;
__declspec(dllexport) long _stdcall sut7r_call(INREC_DEF *p_INREC) {
char dbgbuf[1024];
memset(dbgbuf, 0, sizeof(dbgbuf));
sprintf(dbgbuf, \"%c\", p_INREC->CTRLAREA);
MessageBox(NULL, dbgbuf, \"引数:CTRLAREA\", MB_OK);
memset(dbgbuf, 0, sizeof(dbgbuf));
sprintf(dbgbuf, \"%s\", p_INREC->DD_CJG002);
MessageBox(NULL, dbgbuf, \"引数:DD_CJG002\", MB_OK);
}
--------------------
--- PB ---
構造体 str_inrec_def
character ctrlarea
String cjg002
function long test1(ref str_inrec_def p_inrec) library \"testpb.dll\"
スクリプト
str_inrec_def lstr_inrec
lstr_inrec.ctrlarea = \"A\"
lstr_inrec.dd_cjg002 = \"123456789012345\"
test1(lstr_inrec)
---------------------
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.