
VB6.0
WindowsXP
掲題の件ですが、初心者なので分かりやすく教えていただければ幸いです。
現在、MSCOMMを用いてシリアル通信はできるようになりました。
これからPCIボードを使って、通信を試みようとしているのですが、
これは指定したアドレスに書き込むと送信してくれるようです。
VBを用いてメモリのアドレスを指定して書き込む方法はAPIを使うらしいというのまでは
分かったのですが、具体的にどのようなコードを記述すればいいのか分かりません。
型宣言時にアドレスを指定してメモリを確保できるのでしょうか。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
アドレスを指定して宣言することはできません。
そもそもアドレス空間やプロセスを管理するのはOSの仕事ですので
とてもではないですが、通常の処理系では無理でしょう。
といってもcopymemoryやmovmemoryなどのメモリ転送命令を駆使すれば
何とかなるような感じもしますが、ダメなのでしょうか。
この回答への補足
ありがとうございます。
copymemoryやmovememoryを使えばできそうならば、やってみたいと思います。
後は、変数のデータをVC++などに渡して、VC++上で読み書きできるようにする方法もありなのかなと思ったのですが、VC++は記述した経験が少ないので、
どちらが早くできるかと考えております。
No.2
- 回答日時:
>このAがどのアドレスに書かれるかを指定したいのですが
変数のアドレスを知りたいのなら、Varptr関数を使って下さい。
私もかつてヘルプで探したのですが、
その関数が掲載されていないのには驚きました。未サポートだそうです。
1985年当時のマイクロソフトのBasic では既に存在したので
私は経験上その関数の所在を知っていたのですが、
知らないと探し出すのは困難でしょうね。
http://www5.ocn.ne.jp/~minute/article/vb/e11.html
>VBではアドレスを指定してメモリに書き込んだり読んだりできる関数
#なんかまだ違うような気がするなあ
この回答への補足
ありがとうございます。
VarPtrは探したら分かりました。
これですと、使われているアドレスは分かりますが、
自分でアドレス指定することができないのですが、
アドレスを指定して変数を宣言することはできないのでしょうか?
No.1
- 回答日時:
イマイチ状況がよく分からないのですが、
VB6とのことなので、動的にメモリを確保する方法はredimを使います。
dim a() as byte
・・・
redim a(100)
などとします。このときアドレスというかAPIに渡すときはa(0)と
いうように指定します。これはAPIを使うときの作法のようなものです。
通信系のプログラムだと受信データを固定できないので
動的に確保するという意味だと思いますが、なんか違っているような?
いちおう補足要求ということにしておきます。
この回答への補足
説明不足ですみません。
パソコン内部に詳しくないので間違っているかも知れませんが、
PCIカードを認識させると、メモリ範囲が確保されます。その中で指定した番地にデータを確保できるようにしたいのですが。
型宣言で、
Dim A As Integer
とした場合に、このAがどのアドレスに書かれるかを指定したいのですが。
DRAM?の指定したアドレスの中に、送信データ、受信データの領域を確保したいのですが。
http://forums.belution.com/ja/vb/000/007/59.shtml
たぶん上記のURLの掲示板に投稿されている方と同じような質問になります。
VBではアドレスを指定してメモリに書き込んだり読んだりできる関数などはないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリが不足しています(VBA)
-
メモリを解放しないとどうなる?
-
メモリのセグメント違反の解決...
-
エクセルのメモリ使用状況/Appl...
-
非再入可能なプログラム
-
PIC 文字 を 数値に 変換
-
メモリ不足
-
Bitmapを重ね合わせる方法
-
移動可能メモリ
-
直接メモリにアドレス割付けで...
-
クリスタルレポートでメモリ不...
-
大容量のメモリ確保をスワップ...
-
「ヒープサイズの設定」て何?
-
エラー処理,メモリ開放,exit
-
C言語における再帰呼び出しの...
-
EXCEL-VBAにてADOのレコードセ...
-
H8について教えて下さい。
-
C言語初心者です。debug assert...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で、メモリを解放しないで...
-
Access Violationについて
-
VBAの配列サイズとメモリに関して
-
メモリのセグメント違反の解決...
-
メモリが不足しています(VBA)
-
メモリ不足
-
大容量のメモリ確保をスワップ...
-
ファイルマッピング関数で失敗
-
PC-98で拡張メモリを使え...
-
エラーについて
-
「ヒープサイズの設定」て何?
-
エクセルのメモリ使用状況/Appl...
-
C言語における再帰呼び出しの...
-
オフスクリーンサーフェスへの...
-
1ページに収まるオブジェクト...
-
新規購入PCのスペックについて...
-
4GB搭載したマシンのメモリ情...
-
組み込み系でのmallocについて
-
ルネサスマイコン(R8C) ビルド...
-
Visual Basic Net2003
おすすめ情報