プロが教える店舗&オフィスのセキュリティ対策術

VB6で、以下1~3のような画面を作成したとします。
1.プロジェクトA・ログイン画面フォーム
2.プロジェクトB・照会画面フォーム
3.プロジェクトC・登録画面フォーム

まず、1を表示して、ログインして、
次に2や3の画面に、ログイン情報を渡してやりたいのですが、
どうすればよいでしょうか?
異なるプロジェクト間で値を渡せません。

A 回答 (6件)

プロジェクトA,B,CをActiveX DLLとして作成すればメイン


モジュールからそれらのコンポーネントを呼ぶだけですみ
ます。
#変数の受渡しもプロパティを使用すれば可能。
プロジェクトグループにすれば、モジュール間のデータの
受渡し等の動作確認もできます。

この回答への補足

ActiveX DLLでうまくいきました。
ありがとうございました。

補足日時:2008/07/07 15:05
    • good
    • 0
この回答へのお礼

ActiveX DLLでうまくいきました。
ありがとうございました。

お礼日時:2008/07/07 15:06

えと、まだ解決状態になっていないようなので、ついでに。


根本的なところで、「そもそもプロジェクトを分ける必要があるのか?」
という部分も考えてみた方がいいかもしれませんよ。
    • good
    • 1

>つまり、コンパイル後のexeでは実行できるが


>デバック中では、値を渡しているところを確認できないということでしょうか?

No.1で書いた参考URLの一番最初に、デバック中に値を渡しているところを確認する方法が書かれております。
    • good
    • 1
この回答へのお礼

コマンドラインでうまくいきました。
しかし、ActiveX DLLを使用することに決まりました。
ありがとうございました。

お礼日時:2008/07/07 15:12

各種情報を構造体変数に代入して排出。


構造体変数を呼び込んで破棄。
この間、0.001秒もあれば十分。
で、で、どうしても解読不能にしたければする。
常駐して監視するアプリケーションを用意してもOK。
が、構造体変数を読み書きするのが一番簡単と私は思います。
    • good
    • 0
この回答へのお礼

構造体変数については、後日勉強します。
ありがとうございました。

お礼日時:2008/07/07 15:08

セキュリティ等について問題が無ければ、NYOI氏が書かれた方法が


一番楽でしょう。
但し、単なるコマンドラインでの引渡しなので、「ファイル名を指定して実行」等で
1が他の起動に使う文字列と同じ文字列を入力して起動すれば、
1通さなくても他が起動出来てしまいます。

それが嫌なら、何らかの方法でアプリケーション間通信を行うしかないでしょう。
「visualbasic6 アプリケーション間通信」でググったら色々出てきましたが、方法として
・SendMessage
・DDE
・OLEオートメーション
とかがあるようです。
SendMessageを使った処理のサンプルが載っているページを参考として貼っておきます。
多少面倒そうだけど。

参考URL:http://www.geocities.co.jp/SiliconValley/4805/vb …
    • good
    • 0
この回答へのお礼

コマンドラインでうまくいきました。
しかし、ActiveX DLLを使用することに決まりました。
ありがとうございました。

お礼日時:2008/07/07 15:07

BとCはAから呼び出すのでしょうか?


それならばコマンドライン引数を利用してみてはいかがでしょう。

参考URL:http://homepage1.nifty.com/rucio/main/technique/ …

この回答への補足

コマンドラインを使用するということは、
Aファームに、
Dim RetVal
RetVal = Shell("C:\フォルダB\B.exe xx")
と記述するということでしょうか ?

つまり、コンパイル後のexeでは実行できるが
デバック中では、値を渡しているところを確認できないということでしょうか?

補足日時:2008/07/04 11:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています