HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0928
AsコンソールプログラムからWin32プログラムへ文字列データの転送4解決


As

リンク

2007/9/28(Fri) 04:17:07|NO.11241

ただいま、HSPコンソールプログラム上の文字列をWin32プログラム上に送れないかと
悩んでいます。WM_USERのパラメータに文字列ポインタを乗せて送ってみたりしたのですが
コンソールとWin32では文字列の扱いが違うのかシステムエラーになってしまいました。

アトムテーブルなどいろいろあるかもしれませんが、有効な方法がわかりません。

ご教示お願いいたします。



この記事に返信する


As

リンク

2007/9/28(Fri) 04:20:29|NO.11242

追記:

HSPコンソールプログラム上の文字列というのは、変数に代入された文字列のことです。



ANTARES

リンク

2007/9/28(Fri) 20:21:22|NO.11248

 共有メモリを使う方法です。
拙作anthspex.dllを使っていますが、Win32APIを呼び出す方法もあります。

----------- コンソール側 --------------------

#runtime "hsp3cl" #include "anthspex3.as" mes "start" mmfname="mmftest" sdim mmfdat,64 s="開始したで" mmfdat=s mmfset mmfdat,mmfname,1 repeat: wait 1 mmfget mmfdat,mmfname if mmfdat!=s: break loop mes mmfdat stop

----------- ウィンドウ側 ----------------

#include "anthspex3.as" mes "start" mmfname="mmftest" sdim mmfdat,64 repeat: wait 1 mmfget mmfdat,mmfname: c=stat if c==0: break if c!=7 & c!=128: dialog "mmfget error. stat="+c: end loop mes mmfdat mmfdat="よろしおすなあ" mmfset mmfdat,mmfname stop



pizza

リンク

2007/9/29(Sat) 02:03:17|NO.11254

メッセージならWM_COPYDATAで。
http://yokohama.cool.ne.jp/chokuto/advanced/copydata.html



As

リンク

2007/10/10(Wed) 08:49:01|NO.11567

どうやら互換性とかそういう理由ではなく、他プロセスにポインタを渡せなかったのですね。

ありがとうございます。



ONION software Copyright 1997-2023(c) All rights reserved.