Die DLL-Bibliothek stellt die Funktionen IsDemo
und DoPageControlCommand zur Verfügung.
Für die Verwendung der DLL (auch aus VisualBasic heraus) ist eine Lizenz der
C-Bibliothek notwendig.
Für die Verwendung aus VisualBasic steht ein fertiges Modul mit den Deklarationen der Funktionen zur Verfügung.
Die DLL sowie ein Beispiel in C/C++ und VisualBasic können sie hier laden.
IsDemo
C |
extern long IsDemo(); |
VisualBasic |
Public Declare Function IsDemo Lib "PageLib" Alias "_IsDemo@0" () As Long |
Prüft, ob die Schnittstelle und PageControl lizenziert sind.
Parameter
Die Funktion hat keine Parameter.
Ergebnis
0 | Schnittstelle und PageControl sind lizensiert |
-1 | Die Schnittstelle oder
PageControl arbeiten im Demomodus. Die Schnittstelle liefert nach einer Stunde nur noch "* DEMO *" als Ergebnis und führt keine weiteren Befehle aus. PageControl beendet sich nach einer Stunde. |
DoPageControlCommand
C |
extern long DoPageControlCommand(char* Command, char* Result, unsigned long MaxLength); |
VisualBasic | Public Declare Function
DoPageControlCommand Lib "PageLib" Alias "_DoPageControlCommand@12" (ByVal Command As String, ByVal Result As String, ByVal MaxLength As Long) As Long |
Führt ein PageControl Kommando aus. Eine Liste der verfügbaren Kommandos finden Sie in der Beschreibung der DDE Schnittstelle.
Parameter
Command | char* Das auszuführende PageControl Kommando |
Result | char* Puffer, in dem das Ergebnis des Kommandos zurückgegeben wird |
MaxLength | unsigned long Maximale Länge des Rückgabepuffers |
Ergebnis
Tatsächliche Länge des Ergebnisses. Dieser Wert kann größer sein als der Wert des Parameters MaxLength. Das Ergebnis in Result ist in diesem Fall auf MaxLength Zeichen gekürzt.
Die C-Bibliothek stellt einige Funktionen zur Verfügung, mit deren Hilfe die DDE-Anbindung an PageControl in jedes C bzw. C++ Programm für Windows integriert werden kann. Zum Einsatz der Funktionsbibliothek werden keine Kenntnisse bezüglich der DDE-Funktionalität von MS-Windows vorausgesetzt.
Funktionen | |
CcDdeInit | initialisiert die DDE-Verbindung zu PageControl |
CcDdeExit | beendet die DDE-Verbindung zu PageControl |
CcDdeGetSetupReceivers | Empfängerliste abfragen |
CcDdeGetSetupGroups | Liste der Gruppen abfragen |
CcDdeSend | Meldung senden |
CcDdeAbort | Ruf abbrechen |
CcDdeDelete | Logbucheintrag löschen |
CcDdeExitProgram | PageControl beenden |
CcDdeGetState | momentaner Status abfragen |
CcDdeGetStateText | momentaner Status im Textformat abfragen |
CcDdeGetDeviceState | Device-Status abfragen |
CcDdeGetJobCount | Anzahl der Sendeaufträge abfragen |
CcDdeGetLogCount | Anzahl der Logbucheinträge abfragen |
CCDDE_* Fehlercodes | Beschreibung der Ergebniscodes der Funktionen |
Funktionen
Diese Funktion initialisiert die DDE-Verbindung zu PageControl. Sie muß vor der Verwendung einer anderen Funktion der CCDDE-Bibliothek aufgerufen werden, z.B. direkt nach Programmstart.
BOOL CcDdeInit(HANDLE hInst)
Parameter
hInst HANDLE Instanzhandle der aufrufenden Applikation (siehe WinMain).
Ergebnis
TRUE, wenn die Initialisierung erfolgreich durchgeführt werden konnte, sonst FALSE.
Beispiel
Diese Funktion beendet die DDE-Verbindung zu PageControl. Sie muß vor dem Verlassen der Anwendung aufgerufen werden. Nach diesem Aufruf dürfen außer DcDdeInit keine anderen Funktionen der CCDDE-Bibliothek mehr aufgerufen werden.
void CcDdeExit(void)
Die Funktion hat keine Parameter.
Die Funktion liefert kein Ergebnis.
Beispiel
Abfrage der konfigurierten Einzelempfänger in PageControl.
const char far* CcDdeGetSetupReceivers(void)
Die Funktion hat keine Parameter.
Ergebnis
Zeiger auf einen konstanten String, der die in PageControl konfigurierten Einzelempfänger enthält. Der Aufbau der Empfängerliste entspricht der DDE-Dokumentation pageCtrl|Setup!Receivers.
Hinweis
Die Zeichenkette darf nicht verändert werden.
Beispiel
Abfrage der konfigurierten Empfängergruppen in PageControl.
const char far* CcDdeGetSetupGroups(void)
Die Funktion hat keine Parameter.
Ergebnis
Zeiger auf einen konstanten String, der die in PageControl konfigurierten Empfängergruppen enthält. Der Aufbau der Gruppenliste entspricht der DDE-Dokumentation pageCtrl|Setup!Groups.
Hinweis
Die Zeichenkette darf nicht verändert werden.
Beispiel
Diese Funktion dient zur Rufauslösung über PageControl. Als Parameter werden der Empfänger bzw. die Gruppe wie in PageControl konfiguriert, die zu sendende Meldung und der gewünschte Sendezeitpunkt übergeben. Das Funktionsergebnis informiert den Aufrufer, ob der Auftrag an PageControl erfolgreich übergeben wurde.
int CcDdeSend(short nType,
const char far* lpcszReceiver,
const char far* lpcszMsgText,
const char far* lpcszMsgNumber,
const char far* lpcszMsgVoice,
const char far* lpcszMsgSound,
const char far* lpcszMsgArea,
const char far* lpcszTime)
Parameter
nType | short
Information, ob die Empfängerbezeichnung für eine
Gruppe oder einen Einzelempfänger steht. (0 - Einzelempfänger, 1 - Gruppe, -1 - automatische Auswahl) |
lpcszReceiver | const char far* Bezeichnung des Empfängers bzw. der Gruppe. |
lpcszMsgText | const char far* Textmeldung für alphanumerische Empfänger oder NULL, wenn diese Information nicht benötigt wird. |
lpcszMsgNumber | const char far* Numerische Meldung oder NULL, wenn diese Information nicht benötigt wird. |
lpcszMsgVoice | const char far* Bezeichnung einer Sprachmeldung wie in PageControl konfiguriert oder NULL, wenn diese Information nicht benötigt wird. |
lpcszMsgSound | const char far* Tonmeldung (A, B, C, oder D) oder NULL, wenn diese Information nicht benötigt wird. |
lpcszMsgArea | const char far* Sendegebiet (nur Eurosignalempfänger, N - Nord, M - Mitte, S - Süd, A - Alle) oder NULL, wenn diese Information nicht benötigt wird. |
lpcszTime | const char far* Datum und Uhrzeit des gewünschten Sendezeitpunkts (Format: tt.mm.jjjj hh:mm) oder NULL, wenn eine sofortige Aussendung erwünscht ist. |
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Hinweis
Für nicht benötigte Meldungsteile kann statt dem Pointer auf einen String NULL übergeben werden. Die Funktion prüft, ob der angegebene Empfänger bzw. die Gruppe in PageControl konfiguriert ist und überprüft die Meldungstexte und die Sendezeit auf allgemeine Gültigkeit. Im Fehlerfall wird ein entsprechender Fehlercode zurückgeliefert.
Beispiel
Diese Funktion löscht den ersten Eintrag in der PageControl-Sendeliste. Wenn dieser Ruf in diesem moment Aktiv ist, so wird der Ruf abgebrochen.
int CcDdeAbort(void)
Die Funktion hat keine Parameter.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Beispiel
Diese Funktion löscht den letzten Eintrag im PageControl-Logbuch.
int CcDdeDelete(void)
Die Funktion hat keine Parameter.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Beispiel
Diese Funktion beendet PageControl. Es sind dann keine weiteren Kommandos möglich.
int CcDdeExitProgram(void)
Die Funktion hat keine Parameter.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Beispiel
Liefert den aktuellen PageControl-Status als numerischen Wert.
int CcDdeGetState(long far* lplState)
Parameter
lplState long far* Zeiger auf die Ergebnisvariable, die den aktuellen Status aufnehmen soll.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Wenn das Ergebnis CCDDE_Ok ist, enthält *lplState den aktuellen PageControl-Status. Die Bedeutung der Statuswerte ist mit den Konstanten JS_* definiert.
Beispiel
Liefert den aktuellen PageControl-Status als Text.
const char far* CcDdeGetStateText()
Die Funktion hat keine Parameter.
Ergebnis
Zeiger auf den Text, der den aktuellen PageControl-Status beschreibt, oder NULL, wenn ein Fehler aufgetreten ist.
Beispiel
Diese Funktion liefert den aktuellen Status der PageControl-Devices und Schnittstellen.
int CcDdeGetDeviceState(long far* lplDeviceState)
Parameter
lplDeviceState long far* Zeiger auf die Ergebnisvariable, die den aktuellen Status aufnehmen soll.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Wenn das Ergebnis CCDDE_Ok ist, enthält *lplDeviceState den aktuellen PageControl Devicestatus. Die Bedeutung der Statuswerte ist mit den Konstanten DS_* definiert.
Beispiel
Liefert die Anzahl der Aufträge in der PageControl-Sendeliste.
int CcDdeGetJobCount(long far* lplCount)
Parameter
lplCount long far* Zeiger auf die Ergebnisvariable, die die aktuelle Anzahl aufnehmen soll.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Wenn das Ergebnis CCDDE_Ok ist, enthält *lplCount die Anzahl der Aufträge in der PageControl-Sendeliste.
Beispiel
Liefert die Anzahl der Aufträge im PageControl-Logbuch.
int CcDdeGetLogCount(long far* lplCount)
Parameter
lplCount long far* Zeiger auf die Ergebnisvariable, die die aktuelle Anzahl aufnehmen soll.
Ergebnis
CCDDE_* - Fehlercode (siehe unten).
Wenn das Ergebnis CCDDE_Ok ist, enthält *lplCount die Anzahl der Aufträge im PageControl-Logbuch.
Beispiel
Allgemein | ||
CCDDE_Ok | 0 | Aufruf fehlerfrei |
Prüfung des Sendeauftrags | ||
CCDDE_ReceiverNotConfigured | 10 | Empfänger bzw. Gruppe in PageControl nicht konfiguriert |
CCDDE_InvalidTextMessage | 11 | Textmeldung zu lang bzw. enthält unzulässige Zeichen |
CCDDE_InvalidNumericMessage | 12 | Numerische Meldung zu lang bzw. enthält unzulässige Zeichen |
CCDDE_InvalidVoiceMessage | 13 | Sprachmeldung in PageControl nicht konfiguriert |
CCDDE_InvalidSoundMessage | 14 | Ungültige Tonmeldung (nicht A, B, C oder D) |
CCDDE_InvalidSendArea | 15 | Ungültiger Sendebereich (nicht N, M, S oder A) |
CCDDE_InvalidSendTime | 16 | Ungültige Sendezeit (Format oder Werte stimmen nicht) |
DDE-Fehler | ||
CCDDE_NotInitialized | 20 | CcDdeInit wurde nicht aufgerufen oder hatte das Ergebnis FALSE |
CCDDE_ServerNotResponding | 21 | PageControl ist nicht gestartet |
CCDDE_ExecuteError | 22 | Fehler bei der Kommandoübergabe an PageControl |
CCDDE_ExecuteTimeout | 23 | PageControl hat nicht innerhalb von einer Sekunde quittiert |
CCDDE_MessageNotAccepted | 24 | Sendeauftrag von PageControl abgewiesen (z.B. ungenügende Meldungsinformation) |
CCDDE_JobListFull (2.25) | 25 | Die Sendeliste von PageControl kann keine weiteren Sendeaufträge aufnehmen |