次の方法で共有


Mscomm32.ocx を使用してシリアル ポートに送信する

この記事では、Mscomm32.ocx コントロールを使用してシリアル ポートに情報を送信する方法について説明します。

元の製品バージョン: Visual FoxPro
元の KB 番号: 139526

まとめ

この記事では、Mscomm32.ocx を使用してシリアル ポートにデータを送信するために必要な設定について説明します。 Mscomm32.ocx は Microsoft Visual FoxPro Professional Edition に付属しています。 これは、Microsoft Windows 95 以降のバージョンの Windows を実行しているコンピューターで使用できます。

詳細

mscomm コントロールを使用してシリアル ポートにデータを送信するために最もよく使用されるプロパティは次のとおりです。

CommPort

CommPort プロパティは、通信ポート番号を指定します。 Comm ポートに対応する数値プロパティ。 既定では、このプロパティは com1 に対応する 1 に設定されています。 有効な値は、コンピューターにインストールされているシリアル ポートとその構成に応じて、1、2、3、または 4 です。

設定

Settings プロパティは、シリアル ポートのボー レート、パリティ、データ ビット、およびストップ ビットを構成します。 Settings プロパティは、個々のコンマ区切り値を含む文字列です。 既定では、Settings プロパティは次のようになります。9600,N,8,1 このプロパティは、9600 ボー、パリティなし、8 データ ビット、1 ストップ ビットに対応します。

次のボー レート値が有効です: 110、 300、600、1200、2400、4800、9600 (既定値)、14400、19200、28800、38400、56000、57600、115200、128000、256000。

PortOpen

PortOpen プロパティは、シリアル ポートが開いてアクティブかどうかを制御する論理値を指定します。 前のプロパティがシリアル ポートの使用を開始するように設定されたら、このプロパティを true に設定できます。

出力

Output プロパティには、シリアル ポートに送信される文字の文字列が割り当てられます。 前のプロパティが設定された後に文字列 "Hello World" をシリアル ポートに出力するには、次のコマンドを使用します。

 myform.mycomm.output = "Hello World"

アプリケーションに応じて必要になる可能性があるその他のプロパティは次のとおりです。

コミュニケーションイベント

CommEvent プロパティには、最新の通信イベントまたはエラーを表す値が含まれています。

Sthreshold

Sthreshold プロパティは、送信される出力バッファー内の最小文字数を指定します。

送信バッファ数

OutBufferCount コントロールは、送信バッファーで待機している文字数を返します。 Sthreshold プロパティが 0 の場合、これは常に 0 にする必要があります。 OutBufferCount プロパティを 0 に設定すると、送信バッファーがクリアされます。

OutBufferSize

OutBufferSize プロパティは、送信バッファーのサイズを指定します。 既定では、このバッファーは 512 バイトです。 送信バッファーが大きいほど、他のアプリケーションで使用できるメモリが少なくなります。 低速ボー レートとシリアル ポートに書き込まれる大きなテキスト文字列は、この値を大きくする必要があることを意味する場合があります。

以下は、Comm コントロールを設定し、標準の Hayes Modem コマンドを使用して電話番号 555-1234 にダイヤルする方法を示すサンプルです。

 PUBLIC ComForm
 ComForm = CREATEOBJECT('Form')
 ComForm.AddObject("Testcom","Olecontrol","MSCOMMLib.MSComm")
 ComForm.Testcom.CommPort = 2 && Use Comm2, The second Serial Port.
 ComForm.Testcom.Settings = "14400,N,8,1" && 14.4 Kbaud, No Parity,
 && 8 data Bits, 1 Stop Bit
 ComForm.Testcom.PortOpen = .T.
 ComForm.Testcom.Output = "ATDT555-1234" + chr(13) && Dialing the number
 * The chr(13) is needed to complete the modem command sequence
 ComForm.Testcom.PortOpen = .F.
 ***** End Code *****

メモ

これをアプリケーションで使用し、Visual FoxPro セットアップ ウィザードを使用してアプリケーションを配布すると、アプリケーションの実行時に次のエラーが表示されることがあります。

プログラム エラー OLE エラー コード 0x80040112: このクラスの適切なライセンスが見つかりません。