Freigeben über


Senden an den seriellen Port mithilfe von Mscomm32.ocx

In diesem Artikel wird erläutert, wie Informationen mithilfe des Mscomm32.ocx-Steuerelements an den seriellen Port gesendet werden.

Originalproduktversion: Visual FoxPro
Ursprüngliche KB-Nummer: 139526

Übersicht

In diesem Artikel werden die Einstellungen beschrieben, die zum Senden von Daten an den seriellen Port mithilfe von Mscomm32.ocx erforderlich sind. Mscomm32.ocx wird mit Microsoft Visual FoxPro Professional Edition ausgeliefert. Sie kann auf Computern verwendet werden, auf denen Microsoft Windows 95 und höhere Versionen von Windows ausgeführt werden.

Weitere Informationen

Die am häufigsten verwendeten Eigenschaften zum Senden von Daten an den seriellen Port mithilfe des mscomm-Steuerelements lauten wie folgt:

CommPort

Die CommPort Eigenschaft gibt die Kommunikationsportnummer an. Eine numerische Eigenschaft, die dem Comm-Port entspricht. Standardmäßig ist diese Eigenschaft auf 1 festgelegt, die com1 entspricht. Gültige Werte sind 1, 2, 3 oder 4, je nach den auf dem Computer installierten seriellen Ports und deren Konfiguration.

Einstellungen

Die Settings Eigenschaft konfiguriert die Baudrate, Parität, Datenbits und Stoppbits für den seriellen Port. Die Einstellungseigenschaft ist eine Zeichenfolge, die einzelne durch Kommas getrennte Werte enthält. Standardmäßig lautet die Einstellungseigenschaft wie folgt: 9600,N,8,1 Diese Eigenschaft entspricht 9600 Baud, keine Parität, 8 Datenbits und 1 Stoppbit.

Die folgenden Baudratewerte sind gültig: 110, 300, 600, 1200, 2400, 4800, 9600 (Standard), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.

PortOpen

Die PortOpen-Eigenschaft gibt einen booleschen Wert an, der steuert, ob der serielle Anschluss geöffnet und aktiv ist. Sobald die vorherigen Eigenschaften so festgelegt sind, dass sie mit der Verwendung des seriellen Ports beginnen, können Sie diese Eigenschaft auf "true" festlegen.

Ausgabe

Der Output-Eigenschaft wird die Zeichenfolge zugewiesen, die an den seriellen Port gesendet werden soll. Verwenden Sie den folgenden Befehl, um die Zeichenfolge "Hallo Welt" an den seriellen Port auszugeben, nachdem die vorherigen Eigenschaften festgelegt wurden:

 myform.mycomm.output = "Hello World"

Andere Eigenschaften, die je nach Anwendung ebenfalls benötigt werden können, sind wie folgt:

CommEvent

Die CommEvent Eigenschaft enthält einen Wert, der das letzte Kommunikationsereignis oder Fehler darstellt.

Sthreshold

Die Sthreshold Eigenschaft gibt die minimale Anzahl von Zeichen im Ausgabepuffer an, die gesendet werden.

Ausgabepufferanzahl

Das OutBufferCount-Steuerelement gibt die Anzahl der Zeichen zurück, die im Übertragungspuffer warten. Dies sollte immer null sein, wenn die Sthreshold Eigenschaft null ist. Wenn Sie die OutBufferCount Eigenschaft auf Null festlegen, wird der Übertragungspuffer gelöscht.

OutBufferSize

Die OutBufferSize Eigenschaft gibt die Größe des Übertragungspuffers an. Dieser Puffer beträgt standardmäßig 512 Byte. Je größer der Übertragungspuffer ist, desto weniger Arbeitsspeicher ist für andere Anwendungen verfügbar. Langsame Baudraten und große Textzeichenfolgen, die in den seriellen Port geschrieben werden, können bedeuten, dass Sie diesen Wert vergrößern müssen.

Es folgt ein Beispiel, das zeigt, wie Sie die Kommunikationssteuerung einrichten und die Telefonnummer 555-1234 mithilfe der Hayes-Modembefehle wählen.

 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 *****

Notiz

Wenn Sie dies in einer Anwendung verwenden und dann die Anwendung mithilfe des Visual FoxPro-Setup-Assistenten verteilen, wird möglicherweise der folgende Fehler angezeigt, wenn Sie die Anwendung ausführen:

Programmfehler-OLE-Fehlercode 0x80040112: Die entsprechende Lizenz für diese Klasse wurde nicht gefunden.