VB2008でクラスライブラリー(DLL)を作成中なのですが、旨く出来

解決済みの質問

VB2008でクラスライブラリー(DLL)を作成中なのですが、旨く出来

VB2008でクラスライブラリー(DLL)を作成中なのですが、旨く出来ません。
それは、マウスでクリックした座標(X,Y)を取得したいのです。

ご存じの方がいらっしゃいましたらご教授下さいませ。
サンプルリストを書いて戴けると非常に嬉しいです。

以上 宜しくお願い致します。

投稿日時 - 2010-09-16 17:25:53

連想キーワード:

QNo.6186735

困ってます

質問者が選んだベストアンサー

こんばんは。以前 FX・為替カテゴリで質問されていた方ですね。edp3142 です。
貴方の根性に敬意を表して、私も少し調べてみましたところ、かなり近いというかそのものの記事を見つけましたので、貼っておきます。ある方の Blog です。下記の3エントリを読むとよいでしょう。

http://d.hatena.ne.jp/fai_fx/20091010/1255100415
http://d.hatena.ne.jp/fai_fx/20091011/1255187230
http://d.hatena.ne.jp/fai_fx/20091012/1255273251

結局のところ、MetaTrader から 直接 Windows API を利用しているようなので、VB2008は不要です。

蛇足ですが、貴方の用途ではクラスライブラリではダメです。
DLL ファイルというのは拡張子が同じでも下記のように色々種類があるのです。

ただのDLL
ActiveX DLL
.NET用クラスライブラリ DLL

投稿日時 - 2010-09-19 21:07:06

お礼

早速のご回答有り難うございます。

このサイトは非常に参考になります。

教えて戴いて有り難うございます。
まだ、完全に理解しておりませんが、勉強してみます。

これが私の知りたい事でした。
APIの使い方等、勉強致します。

この度は本当に有り難うございました。

投稿日時 - 2010-09-19 22:09:35

ANo.4

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(3件中 1~3件目)

ANo.3

あいにくサンプルはないしそのMQL4言語もわからないですが、

VBでダミーのEXEを作成し、そのEXEからそのDLLが実行できるか、
これを試してからMQL4でも実行できるか、ではないでしょうか?。

座標を取得にはやはりマウスの動きを制御するプログラムが
参考になると思います。

今のところ、取得がおかしいのか引き渡しがおかしいのか
見極めできていないのではないでしょうか。
subで記載してますが、FUNCTIONでないと値は親プログラムへ渡らないです。

投稿日時 - 2010-09-19 14:08:44

ANo.2

#MQLというのは知らないのですが …

DLLから 値を取得したいのであれば Function定義で値を返すか、関数の引数で値を取得するようにしないとまずいように思います

ただし
MQLで扱える型と VB.NETとの整合が取れるかどうか
扱うマウス座標は VB.NET製のWindows.Formアプリなのか
など 懸案事項があるように思います

投稿日時 - 2010-09-18 15:14:55

補足

早速のご回答有り難うございます。

正式にはMQL4と言います。
MT4(メタトレーダー)の自動売買等のプログラミングを行います。
普通の多くの関数ならMQL4が持っているのですが、持っていない関数はAPI等からDLLとして使用します。

画面のX,Y座標の取得の関数が有りません。
それで、必要なのです。

それで、今クラスライブラリーを作成中なのです。
ところで、クラスライブラリー(DLL)というのと、API関数、Windowsライブラリーと色々あるのですが、クラスライブラリーを作成中なのですが、このライブラリーでは他の言語にインポートしては使えないものなのでしょうか。

Functionとありますが、呼び出し元に値を返す事の出来るプロシジャーですよね。

いまいち良く分かりませんので宜しくお願い致します。

投稿日時 - 2010-09-18 16:02:11

ANo.1

今はVBの無い環境で、推定で申し訳ないですが...

最近のVBはたいていの操作がフレームワークになっていて、
DLLは使わないようになっているのではないでしょうか?

また、マウスクリックの座標はマウスクリックのイベントの
引数で得られると思います。

投稿日時 - 2010-09-16 17:59:00

補足

早速のご回答を有り難うございました。

私はとにかく、DLLで作ったプログラムかAPIが必要なのです。
APIにでもあれば作る必要はないのですが、あるか無いかも分からないので作成しております。

マウスの座標を取得して、値をMQLと言う言語に渡したいのです。

以下に作成してみましたが、エラーでコンパイル出来ません。

以上宜しくお願いします。
--------------------------------------------------------------------------

Public Class zahyo
Private Sub zahyou()

Dim i As Integer
Dim xzahyo As Integer
Dim yzahyo As Integer

For i = 1 To 10000
xzahyo = Windows.Forms.Cursor.Position.X.ToString()
yzahyo = Windows.Forms.Cursor.Position.Y.ToString()

'Doevent

Return xzahyo
Next
End Sub
End Class

-------------------------------------------------------------------------------

投稿日時 - 2010-09-16 21:55:18

あわせてチェックしたい
  • VB 2008 DLL作成の方法 ...
  • VB2008でのDLL作成方法について ...
  • VB2008: クラスライブラリとはなんなのか? ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら