PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
1030 98/03/25 10:50:06 RE(1):自マシン名の取得がうまくかないのですが? By nari
1025 98/03/25 05:44:45 自マシン名の取得がうまくかないのですが? By pochi

カテゴリ:旧電子会議室
日付:1998年03月25日 10:50 発信者:nari
題名:RE(1):自マシン名の取得がうまくかないのですが?

私はGetComputerNameAは使用しておりませんが、他のWinAPIを使用したsourceを
compileしたcodeをWindows95, NT4で稼動させて不具合はでていません。

>外部関数で次のように定義をして自端末のマシン名を取得しようとしました。

>  Function Long GetComputerNameA(REF string lpBuffer, REF int nsize) Library \"Kernel32.dll\"

GetComputerNameのPROTOTYPEは以下です。

  BOOL GetComputerName(
    LPTSTR lpBuffer, // address of name buffer 
    LPDWORD nSize  // address of size of name buffer 
   );

ここでDWORDは
  32 ビットの符号なし整数、またはセグメント アドレスとそれに関連するオフセット
ですので PBでは ULONG が当てはまります。
intは16bit符号付き整数型なので、まずは第二引数をULONGにしてみてください。
変数領域の境界がおかしくなっている可能性があります。

蛇足ですが、lpBuffer は nsize 分の領域割り当てされてますか?

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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