GP-IBケーブルで機器をつないで、
VisualBasicで、機器の制御(データの管理)を行なうプログラムを作成しようと思っています。
そこででてきた言葉・GP-IBインターフェース。

初心者なので良くわからないのですが、
検索すると見かける”インターフェース”というのは、具体的には何を行なう為のものなのでしょうか?
これが無くても、上記のようなプログラムを作成し、機器を制御することは可能でしょうか。

出来れば、市販の製品などを極力避けて、且つエコノミーに作りたいので、
必要とあらば、あらゆる部品を手作りする気もあるのですが。
このインターフェースって・・・手作りで出来るのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

まず、インターフェースですが、「顔と顔の対面」といった感じで「コミュニケーション」に近い意味で使われます。

更に「コミュニケーション」を行なう際の規約・約束事(ルール)と言う意味でも使われ、何かと何かをつなぐためには、必ずインターフェースを取り決め、これを守る必要があります。

次に「GP-IB」は計測器の老舗ヒューレット・パッカード社(HPと略記)が多種類の計測器とコンピュータとをつなぐために開発したインターフェースです。
今では世界標準となっています。GP-IBとは汎用目的のインターフェースバスと言う意味です。

自作してでもと言う意気込みは立派ですが、できるだけ市販のものを組み合わせて利用するほうが得策でしょう。

参考URL:http://www.mogami-wire.co.jp/company/products/gp …
    • good
    • 0

インターフェイスには、USB、IEEE1394、SCSI,ATA,パラレル,シリアル(RS-232C)等がありますと言えば,


少しは感じがわかりますか。


>出来れば、市販の製品などを極力避けて、且つエコノミーに作りたいので、
>必要とあらば、あらゆる部品を手作りする気もあるのですが。
>このインターフェースって・・・手作りで出来るのでしょうか?

技術のある人なら可能でしょうが、初心者と名乗る人にはまず無理と思います。
また、ハードウェアができても、Windows用のデバイスドライバを書いて,
VBで使えるようにActiveXなりなんなりでプログラムを組む必要があるでしょうし。

シリアル通信程度ならまだ歯が立つかも知れませんが、
例えれば,USBインターフェイスボードを作成して、
ドライバ類を全部自分で作る程度の手間と考えていいと思います。
    • good
    • 0

パソコンにはGP-IB用のポートがありませんので、別途 GP-IB用の拡張ボードが必要になります。

製品の中に Windows用のドライバがあるものを選ぶとプログラミングが楽になります。VBでしたら、それ用の OCXなんかもあると楽でしょうね。

シリアル(RS-232C)を GP-IBに変換するようなものを作れば自作もできるかもしれませんが、ハードウェアソフトウェアともにGP-IBのすべての知識が必要になるのではないでしょうか。ハードルは高いと思います。

インターフェースと言っても広い範囲で使われますが、この場合のインターフェースとは、パソコンと機器を繋ぐ物理的な仕組みを指す場合と、機器を制御するためのソフトウェア的なやりとり(プロトコル)を指す場合とがあると思います。
    • good
    • 0

GP-IBインターフェースを持つ機器とPCを接続するには、GP-IBインターフェースカードが必要です。


LANインターフェースというと、LANのボードとケーブルが必要ですよね。それと同じです。

国内では下記で作ってます。(私が使ったことがある)
コンテック:http://www.contec.co.jp
インターフェース:http://www.interface.co.jp
ナショナルインスツルメンツ:http://digital.ni.com/worldwide/japan.nsf/main?r …

GP-IBケーブルも売っています。

次に、このボードを動かす為のドライバが必要です。これも各メーカでActiveXとかの形式で販売しているはずです。それを購入してVBから使います。

DOSの頃は私もオールアセンブラでドライバを書きましたが、今は書けません(苦笑)。GP-IB通信の仕様、コントローラの仕様、Windowsのドライバについて深くご存知で手間を惜しまないのなら別ですが、そうでないのならお勧めしません。

厄介なのはその次です。各機器の取扱説明書のGP-IBに関する部分をよく読んでアドレスやターミネータ、ポーリングなどを適切に設定してやることが必要です。この設定に合うような形でプログラム側から呼び出してやれば、動くはずです。
多分各機器の取扱説明書にはサンプルプログラムが載っていると思いますので、参考にされたらいいと思います。

接続される予定の機器が一つならそれほどでもないですが複数あれば、きちんと動く条件を見つけてやらなければなりません。ここ5年ぐらいの機器であればちゃんと動くと思いますが、昔のであれば結構通信の仕様を都合よく解釈している場合もあって、動かない場合もありますので気をつけてください。

ではがんばってください。
    • good
    • 0

インタフェースというのはコンピュータが、外部にあって直接自分のデータバスと繋がっていない装置とコミュニケーションをするための手段です。


通信ソフトを組みたいのならインタフェースの構造や規格、プロトコルを良く知っていなければなりません。(コミュニケーション手段がなければ通信ソフトを組んだ意味がありませんよね?)
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QGPIB制御

計測器を購入しGPIB制御をしようとしてます。
予備知識がありません。既に出来上がった測定系を使用し測定したことがある程度です。今回は1から自力でする必要があります。メーカがGPIB用のコマンドを用意してる事を知っている程度です。

1.必要なハード
パソコン、GPIBカード、GPIBケーブル
この程度と思ってますが、これでいいですか?

2.ソフト
何を用意すればいいでしょうか?VisualBasicですか?使ったことはありません。

3.勉強方法
ここが一番問題です。GPIBは書籍を探してもなかなかありません。ホームページではなく出来ればまとまった書籍がありがたいのですが。。。何か無いでしょうか?

Aベストアンサー

参考情報として

『GP‐IBインターフェイスの使い方』
『IEEE‐488(GPIB)とその応用』―標準ディジタル・バスの使い方から設計法まで
両方とも新本は在庫無し、Amazonで中古本が出品されています、検索してください。

『Excel実験データ処理』
http://www.interface.co.jp/whatsnew/press_release/book.asp
GPIBサンプルプログラムが添付されています。
VisualBasicの知識は必要のようです。

Qoracle10g へ、アクセスでつないで モジュール上でプログラミン

oracle10g へ、アクセスでつないで モジュール上でプログラミングをしています。
オラクルDB上のデータ型は"date"なのですが、(例:2007/03/09 12:23:42)、
アクセスのモジュール上に組んだSQLで、
stSQL = "select ID " _
& "from xx.DBNAME " _
& "where KOUSIN_DATE between " & ototoi & " and " & honzitu & ""
のように記載しています。
そして、ototoiに入れるデータは
ototoi = DateAdd("d", -2, Now)
のパターンと
ototoi = Format(DateAdd("d", -2, Now), "yyyymmdd")
のパターンの2通りでためしてみたのですが、
どちらもうまくいきませんでした。
どうしたらSQLがうまくデータを拾ってこれるでしょうか??
漠然とした質問で申し訳ありませんが、宜しくお願いします。

Aベストアンサー

"~ between #" & ototoi & "# and #" & honzitu & "#"

みたいにしてみてはどうでしょうか。

QWinアプリ(c#) webアプリ(c#.net) とは?

4月から社会人になります。
職種はシステムエンジニアです。
社員十数名ほどの小さな会社で、研修はありません。

何かやっておいた方がいい事はないか質問すると、
「Winアプリ(c#)やwebアプリ(c#.net)あたりをやっておくといいかもしれない。」
との事で、とりあえずC#の入門書を買ってみたのですが、
わからない事だらけで困っています。
超初心者なので、細かく教えて頂けないでしょうか。

(1)Winアプリ・webアプリとは何ですか。
(2)C#とC#.netは同じなのですか。違うのなら、C#.netとは何ですか。
(3)C#とはVisual C#の事ですか?

その他知っておくべき事等お教え頂ければ幸いです。
宜しくお願い致します。

Aベストアンサー

>(1)Winアプリ・webアプリとは何ですか。
WinアプリとはWindowsアプリケーションソフトのこと。
その名のとおりWindowsというOSで動作するアプリケーションソフトのことです。
アプリケーションソフトとは『特定の目的のために作られたソフトウェア』って意味です。

webアプリは、
ブラウザ(IEなど)で動作させるアプリケーションソフトです。
ですので、WindowsというOSに限らずLinuxなど他のOSでもブラウザさえあれば動作します。
このOKWave自体もWebアプリケーションですね。

>(2)C#とC#.netは同じなのですか。違うのなら、C#.netとは何ですか。
同一です。

>(3)C#とはVisual C#の事ですか?
ほぼそう考えてよいと思います。
正確にはVisual C#とはマイクロソフトのVisual Studioを使って、C#という言語で開発するって意味です。


最初はとにかく入門書の内容に従ってプログラムを打ち込んで動かしてみることですね。

Q「VisualBasic」と「JavaScript」の違いを尋ねたい

興味がてら急がず焦らずでファミコンレベルのアクションゲーム
(スーパーマリオやロックマンや魔界村など)を作る為に
プログラムを勉強しようと思っています。
ここ数日自分で色々調べてみたところ
どうやら、自分みたいな初心者は「VisualBasic」で
やって行くことした方がいいかなと思いました。
「VisualBasic」は初心者からも入り易く、使いこなせば
どんなゲームも制作出来る言語だそうで。
ただ自分には将来
同人ソフト、フリーソフトなりで
作ったゲームを世に出してみたい気持ちもあります、、

そこで質問させて頂きたいのですが
作ったプログラム言語によって、
そのゲームの動作環境(対応機種)というのは
完全に固定されてしまうのでしょうか?

例えば、同人、商業問わず
winでゲームを開発、動作出来る話は「常識」になってるくらい目につきますが、
でも、C言語やC++はMacの環境でも使えるはずなのに、
なぜmacで動くゲームが世の中に少ないのでしょうか?
「VC++」はwin専用で、それが浸透してるからでしょうか?
だとすると、C++で作り、WinMac両方に対応させた方が良いとも思うんですけど、、
「VisualBasic」で制作したゲームもwinしか遊べないんでしょうか?

自分としてはFlashゲームのように
win、mac分け隔て無くプレイ出来るゲームを作りたい気持ちがあります。
ちなみにそのJavaScriptで組んだゲームは
Wii本体からネット経由するとWiiでも遊べるみたいですね。
それこそすごく興味あるんですが、Java言語だと
スーファミレベルのゲーム制作は無理ですよね?
簡単なゲームしか見た事無いんで、、、。

とりあえずネットだけで無く、リアルの友人達にも
容易にプレイしてもらえるゲーム開発言語を選びたいんです。
「VisualBasic」で大丈夫でしょうか?
「JavaScript」のが良いでしょうか?

また、もしかしたらその先C++を学ぼうとした時
「VisualBasic」「JavaScript」のプログラムで学んだことは
生きてきますか?
それともプログラムはまったく変わってしまうのでしょうか?
「最初からこっちを選んでおくべきだった」という
後悔だけはしたく無く、今すごく悩んでおります。

とりあえず、ごちゃごちゃ書いてしまったんで
自分の要望と質問をまとめます。

●初心者におすすめ。
●制作環境はMacでもwin行けます(BootCamp環境なので)。
●未来永劫に2D(ドット)のゲームしか作る気が無い。
 (しかもどこまで凝ってもスーファミレベルで満足)
●音楽が大好きなのでサウンド周りもしっかり対応出来る言語が良い。
●最終的にはwin以外でも遊べるゲームを作りたい。
(友達みんながみんなWin持ってるわけじゃ無いので)
●欲が出て、難関C++に移行したくなった時に
 少しでも活かせられる言語が良い。

以上のような自分にとって、
それぞれ「Java」と「VisualBasic」を選ぶ上での
メリット、デメリットを聞かせてください。

自分は「JavaScript」の「Action Script」に魅力を感じています。
ですが、「VisualBasic」の方がゲーム制作には特化してて、
またこちらの言語のが多様性があるかな、と。

んー、悩みます。無知だからこそ、さらに。
ぜひアドバイスよろしくお願いします。

興味がてら急がず焦らずでファミコンレベルのアクションゲーム
(スーパーマリオやロックマンや魔界村など)を作る為に
プログラムを勉強しようと思っています。
ここ数日自分で色々調べてみたところ
どうやら、自分みたいな初心者は「VisualBasic」で
やって行くことした方がいいかなと思いました。
「VisualBasic」は初心者からも入り易く、使いこなせば
どんなゲームも制作出来る言語だそうで。
ただ自分には将来
同人ソフト、フリーソフトなりで
作ったゲームを世に出してみたい気持ちもあります、...続きを読む

Aベストアンサー

いくつかポイントを。

>そこで質問させて頂きたいのですが作ったプログラム言語によって、
そのゲームの動作環境(対応機種)というのは完全に固定されてしまうのでしょうか?

VBを選べばほぼ「固定」と考えて間違いないでしょう。
以下のメーリングリスト

http://www.freeml.com/programming/300

を参照して欲しいのですが、元々VB自体は確固とした「共通規格」ではありませんし、あくまでMicrosoftが作ったWindows専用の言語だ、って考えてた方が無難です。「Windowsだけで」じゃなくって「マルチプラットフォームで」と考えておられるのなら、VBは止めた方が良いでしょう。

>C言語やC++はMacの環境でも使えるはずなのに、なぜmacで動くゲームが世の中に少ないのでしょうか?

これは単に商売の論理でしょう。
Mac向けのゲームソフトをリリースするより、Windows向けのゲームソフトをリリースしたほうがマーケットが大きいから、です。
昔(80年代後半~90年代初頭)はWindowsはグラフィックが弱かったので、グラフィックを徹底して使ったゲームはまずはMacでリリース、と言うケースが多かったんですが、時代が下るとWindowsのグラフィック能力が上がって来たんで、そう言う差別化も無くなりました。
後は、Macは比較的、購買目的がハッキリした、例えばDTP等の「マジメな用途の為のマシン」と思われている、って事もあるんでしょうね。つまり、Macのユーザー層にはアピールし辛い、等とも思われているのでしょう。

>そのJavaScriptで組んだゲームはWii本体からネット経由するとWiiでも遊べるみたいですね。それこそすごく興味あるんですが、Java言語だと
スーファミレベルのゲーム制作は無理ですよね?

ここは完全な勘違い、です(良く見かけますが)。
JavaとJavaScriptは全く違う言語です。
従って、

>スーファミレベルのゲーム制作は無理ですよね?簡単なゲームしか見た事無いんで、、、。

「簡単なゲーム製作」はどっちの言語を指してるか知りませんが、基本的にどっちでも可能ですよ。どっちかと言うとJavaScriptは「Webブラウザで動く」前提なんで、簡単にならざるを得ない、とは言えますが、反面、Javaは「改良版C++」と言って良いほどの言語ですし、「スーファミレベル」がどの程度の、また、どのレベルで言ってるのか知りませんが、作れると思います。
例えば、スーファミで出ていたゲームで「ダンジョンマスター」

http://www.super-famicom.jp/data/ta/danjon.html

(元々はアメリカのパソコン、ATART STでのゲームでしたが)をリメイクした「ダンジョンマスターJava」

http://homepage.mac.com/aberfield/dmj/screenshots.html

と言うゲームもあります。
なお、スーファミ時代はそのゲームソフトの殆どはアセンブリ言語で書かれていた、と思います。それに比べれば今のパソコン環境で作る方が幾分簡単だとは思いますよ。

>「VisualBasic」で大丈夫でしょうか?
>「JavaScript」のが良いでしょうか?
>●最終的にはwin以外でも遊べるゲームを作りたい。

3番目の要件を満たすなら、二つの選択肢の中では「VisualBasic」は止めておいた方がいい、としか言いようがないです。ただし、二つの選択肢、としましたが、恐らく質問段階では「Java」と「JavaScript」を混同してるでしょうから、だったらJavaの方がいいでしょう。
ただし、Javaはそれなりに難しいので、

>●初心者におすすめ。

と言う要件は満たしません。
さて、どうしたものか。

良い事を教えましょう。

>●制作環境はMacでもwin行けます(BootCamp環境なので)。

と言うことはMacユーザーですよね?
黙って端末(ターミナル)起動して「Python」と入力してみてください。恐らく「Macにビルトインされた」Pythonと言うプログラミング言語が起動する筈です。
これが貴方の要求、

●初心者におすすめ。
●制作環境はMacでもwin行けます(BootCamp環境なので)。
●未来永劫に2D(ドット)のゲームしか作る気が無い。
 (しかもどこまで凝ってもスーファミレベルで満足)
●音楽が大好きなのでサウンド周りもしっかり対応出来る言語が良い。
●最終的にはwin以外でも遊べるゲームを作りたい。
(友達みんながみんなWin持ってるわけじゃ無いので)
●欲が出て、難関C++に移行したくなった時に
 少しでも活かせられる言語が良い。

を満たす言語です。
Mac OS Xは実は「UNIX」なんです。従って、Linux等のUNIX系OSと同じように「殆どのプログラミング言語(Microsoft系除く)」が問題無く動き、かつ、「マルチプラットフォームで動く言語の」環境を手に入れてるのと同様です。わざわざVBを候補に上げる必要性がありません。
PythonはMac生まれですが、現時点、Linux等のプラットフォームでもほぼ標準で入っていますし、またWindowsでも使えます。ハッキリ言うと答えは「貴方のMacの中にあった」と言う事です。それ以上考える必要はありません。

なお、Pythonを利用したゲーム製作に関しては

Pygame入門:
http://www.halb-katze.jp/pygt/

どんなゲームが作れるかに関してのサンプルは

Pygame:

http://www.pygame.org/news.html

に山ほどあります。

いくつかポイントを。

>そこで質問させて頂きたいのですが作ったプログラム言語によって、
そのゲームの動作環境(対応機種)というのは完全に固定されてしまうのでしょうか?

VBを選べばほぼ「固定」と考えて間違いないでしょう。
以下のメーリングリスト

http://www.freeml.com/programming/300

を参照して欲しいのですが、元々VB自体は確固とした「共通規格」ではありませんし、あくまでMicrosoftが作ったWindows専用の言語だ、って考えてた方が無難です。「Windowsだけで」じゃなくって「マル...続きを読む

QVisual C++をつかったGPIBのプログラム

GPIB初心者です。プログラムもあまり詳しくありません。

Visual C++をつかって、Agilentのスキャナ(34970A)をGPIBで測定制御したいと思っています(用途:温度測定)。以下、私の環境です。

・OS: Windows XP Professional version Service Pack 2002
・開発環境: Visual C++
・GPIBハードウェア: PCMCIA-GPIB (National Instrument, NI488.2)
・測定機器: スキャナ(Agilent、34970A)

・組みたいプログラム:温度測定
中身; 「数十秒間隔で電圧を読み込む」→「電圧値を変換式に代入し、温度に変換」→「グラフ化」

電圧を読み込めるとこまでいければ後は問題ないのですが、いたっていません。どうすればGPIBの信号を読み書きできるでしょうか。できれば高いソフトなどは購入せず、済ませたいと思っています。

質問がまとまっておらず、すみません。何かヒントをいただけたら助かります。

*1;GPIBカードのドライバはインストールできたと思います

*2;AgilentのBenchlink Data logger 3というフリーソフトを使って、34970Aの電圧を数十秒間隔で読み込む、ということはできました。電圧を複雑な変換式に代入し別の値で出力する、という機能は提供されていませんでした。

GPIB初心者です。プログラムもあまり詳しくありません。

Visual C++をつかって、Agilentのスキャナ(34970A)をGPIBで測定制御したいと思っています(用途:温度測定)。以下、私の環境です。

・OS: Windows XP Professional version Service Pack 2002
・開発環境: Visual C++
・GPIBハードウェア: PCMCIA-GPIB (National Instrument, NI488.2)
・測定機器: スキャナ(Agilent、34970A)

・組みたいプログラム:温度測定
中身; 「数十秒間隔で電圧を読み込む」→「電圧値を変換式に代入し...続きを読む

Aベストアンサー

インターネット検索でサンプルになりそうなソースがありましたので添付しておきます。既にご存じの場合はご容赦願います。

34970A IVI-COMドライバ:Visual C++を使用した熱電対測定の取り込み

http://www.home.agilent.com/agilent/facet.jspx?cc=JP&lc=jpn&k=34970A+IVI-COM%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%3AVisual+C%2B%2B%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E7%86%B1%E9%9B%BB%E5%AF%BE%E6%B8%AC%E5%AE%9A%E3%81%AE%E5%8F%96%E3%82%8A%E8%BE%BC%E3%81%BF&sm=g&t=80045.k.3

Qインターフェースってズバリ何なんでしょうか?

最近DirectX9をやってます。
始める→挫折→C++をもう一度勉強→また始める
という状況で、だいたいのことは分かってきたのですが、
IDirect3D9というのがいまいち分かりません。

インターフェースというのは私の中では、「関数をたくさん定義して、継承させるためのもの」という適当な認識をしているのですが、
IDirect3D9インターフェースは、インスタンス化されていますし、これを継承したクラスは使いませんし、普通にメンバ関数を扱っています。

いったい、インターフェースとは何なのでしょうか?
また、IDirect3D9インターフェースは、何故インターフェース何でしょうか?

是非ご教授ください。

Aベストアンサー

Interfaceというのは、
こういう時にこの引数でこれを呼ぶと、こうなる。
他者との間で、呼出と応答のお約束を決めたものです。
(原義は、顔の間、界面という意味です)

そして、本来的なinterfaceは必ずしも継承とは関係ありません。
(継承のないC言語であっても関数宣言などはinterfaceの一部です)

IDirect3D9に限らず、interfaceを *使う際には* インタンス化/実体化が必要です。
DirectXのようなCOMのinterfaceは、通常 *提供する側が* 継承したインスタンスを提供するので、
使う側は、GUIDを指定するだけで、その具象クラスをあまり意識していないだけです。

中身を意識せず、呼び出して使えるのがinterfaceであって、
提供する側(ここではMicrosoft)は、interfaceのルールさえ守れば、
中身の実装を自由に変えられて、影響を与えないのがinterfaceの利点です。
(実装を公開しないので、こっそり?DirectX側のバグを直したりすることが可能です)

「受付担当」インターフェイスがあったとして、
適切な同じ回答をしてくれる限り、それが「事務員」クラスの「鈴木」インスタンスでも、
「人間」クラスの「田中」インスタンスでも、
「自動応答装置」クラスの「Answer01」でも、受付にお願いした方はそれを気にしない。
受付業務を行うクラスが受付担当インターフェイスを実現し、
そのクラスのインスタンスが実際の責務を果たせばよい。
インターフェイスを解したやり取りというのはそういうことです。
# 共通のインターフェイスがないと、人間にお願いする時と自動応答装置にお願いする時には手順が変わってしまうでしょう。

Interfaceというのは、
こういう時にこの引数でこれを呼ぶと、こうなる。
他者との間で、呼出と応答のお約束を決めたものです。
(原義は、顔の間、界面という意味です)

そして、本来的なinterfaceは必ずしも継承とは関係ありません。
(継承のないC言語であっても関数宣言などはinterfaceの一部です)

IDirect3D9に限らず、interfaceを *使う際には* インタンス化/実体化が必要です。
DirectXのようなCOMのinterfaceは、通常 *提供する側が* 継承したインスタンスを提供するので、
使う側は、GUIDを指定...続きを読む

QGPIBとRS232Cの違いについて

GPIBとRS-232Cの違い、特徴について教えて下さい。いままでは、研究室でずっとGPIBで計測、制御していたのですが、結構遅いという話を聞いたことがあるくらいで、なぜこれを使っているのかという根本的なところが全く理解できていませんでした。また、GPIBの場合にはPCに専用のボードを挿す必要がありましたが、RS-232Cの場合はどうすればよいのでしょうか。非常に基礎的な質問ですいません。よろしくお願いします。

Aベストアンサー

計測装置でGPIBが使われる理由ですが、外部装置も多種多様になり”同時に複数のマシンをコントロールする場合にはどうしてもGPIBになってしまう”ってのが、主な理由なんでしょうか?
アドレスさえ割り当ててしまえばデイジーチェーンでいけますから・・・。
当方でも両方の環境が存在しますが、RS232C-WIN PCで制御情報の監視なんぞするときがあります。
お使いの機器によりますが、当方では232C25ピン-9ピンケーブルを使用してシリアルポートに入れています。
USB-232C変換プラグなんてのも売っていたりします。
簡単な制御でしたら、参考URLを参照願います。

参考URL:http://www.mescorp.co.jp/main/products/cctwin/index.html

QIBのオブジェクトにXcodeからコードでアクセスするにはどうすればよ

IBのオブジェクトにXcodeからコードでアクセスするにはどうすればよいのでしょうか?

InterfaceBuilder上で配置したビューや、すでにあるウィンドウなどの、
コード上で定義されていないオブジェクトに、コードでアクセスしたいのですが、やり方がわかりません。。。

例えば、最初にXcodeで新規ファイルを作ると、InterFaceBuilderのdocウィンドウ内にwindowのアイコンがすでに作られていますよね? 
このNSWindowインスタンス(キーウィンドウ)から、ある別のインスタンスにデリゲートする際、
InterfaceBuilderでwindowアイコンから、その別のインスタンスにデリゲートの接続線を引っ張ることで実現していますが、
そうではなく、コードのみで接続できるのかどうか、ということが知りたいです。


ご存知の方、教えてもらえると助かります!

Aベストアンサー

> Xcodeのバージョンは3.2.2、OSは10.6です。

了解しました。
ただし今回は、バージョンは関係なく、じっさいのコードを見なければ、回答できない内容でした。

Interface Builderで生成するインスタンス(AppControllerのインスタンス)は、初期化メソッド「init~」で、初期化処理を行うと、うまくいかないことが、よくあります。
今回の件でいうなら、メソッド「init」が実行される時点で、まだウインドウ「myWin」が生成されていないかもしれないからです。myWinが存在しない段階で、myWinのDelegateを指定することはできません。
Interface BuilderのNib(xib)からインスタンスがすべて生成されたことが保証されてから、初期化処理をするには、NSObjectのプロトコル「NSNibAwaking Protocol」にある、メソッド「awakeFromNib」に記述します。

- (void)awakeFromNib
{
[myWin setDelegate:self];
}

としてみてください。

> Xcodeのバージョンは3.2.2、OSは10.6です。

了解しました。
ただし今回は、バージョンは関係なく、じっさいのコードを見なければ、回答できない内容でした。

Interface Builderで生成するインスタンス(AppControllerのインスタンス)は、初期化メソッド「init~」で、初期化処理を行うと、うまくいかないことが、よくあります。
今回の件でいうなら、メソッド「init」が実行される時点で、まだウインドウ「myWin」が生成されていないかもしれないからです。myWinが存在しない段階で、myWinのDelegateを指定...続きを読む

QC#とC++/CLIの連携について

C#とC++/CLIの連携について
C++/CLI側にC#で作成した変数を渡したいのですが、やり方がわかりません。

そもそも一つのソリューションにC++/CLIとC#を混在することはできるのでしょうか。
やはりC++/CLI側はDLLにして、C#がそのDLLを利用するのでしょうか。

Aベストアンサー

.NETの各種言語は混在することができます。
たとえば、C#でGUIの設計をし.NET用DLLを作成し、内部処理をC++でWin32APIを使って書き、C++/CLIでラップして、GUIと結び付ける、とかもできます。

「変数を渡す」というのが表現として良く分かりませんが、変数というよりはクラスを共有する感じになるかと思います。

とはいえC++/CLIはネイティブコードとマネージドコードを混ぜれるがゆえに、逆に色々と問題があるので、ちゃんとネットや本で調べたほうが良いかと思います。

Q-UWSC:IEで自動クリック-

-UWSC:IEで自動クリック-
下記HTMLのようなボタンを
UWSCでIE上で自動クリックさせたい(マウスアクションではなく)
のですがどうのように記述すれば良いでしょうか。
試したけどエ反応しなかった(エラーも出ず)記述は
IE.CreateOLEObj("InternetExplorer.Application)
IE.Visible=TRUE
IE.Navigate("javascript:this.form.orderMode.value='1';openPage('order')")
です。よろしくお願い致します。

-ボタンのHTML-
<div id="sub_button">
<div><input onClick="this.form.orderMode.value='1';openPage('order')" name="" type="image" src="../images/parts/pgs/b_cartsbmt.gif" class="sub_but"/></div>

Aベストアンサー

UWSC Pro の RecIE を使ってみてはいかがでしようか?
UWSC Pro は無料で試用できます。

参考URL:http://www.uwsc.info/download.html


人気Q&Aランキング

おすすめ情報