NCH Software Home
Startseite | Produkte | Herunterladen | Kaufen | Support | Übersicht  

Einheitliche NCH Software Programmierschnittstelle

Komplette API-Lösung für NCH Software Produkte

Unsere Software ist dazu fähig, von anderen Programmen mittels einer Reihe an Methoden gesteuert zu werden, welche in vielen verschiedenen Sprachen geschrieben sind. Die einheitliche Anwendungsprogrammierschnittstelle (API) von NCH Software stellt einen einfachen Weg vor, wie die Notwendigkeit von Ihrem System adressiert werden kann, unsere Programme zu steuern. Die API ermöglicht, dass Anfragen und Daten zwischen Programmen durch verschiedene Hilfsmittel ausgetauscht werden.



Verschiedene Methoden (mit „Codeausschnitt“-Beispielen) der Verwendung der einheitlichen API beinhalten:

Dieses Dokument ist nur dazu gedacht, eine kurze Übersicht über die Möglichkeiten und Methoden der Verwendung der einheitlichen API zu geben. Für weitere Informationen sehen Sie bitte „readme.html“ im Archiv nchapi.zip. Diese ZIP-Datei enthält die tatsächlichen vereinheitlichten API-Dateien, zusammen mit allen Header- und Quelldateien für Anwendungsbeispiele in C++, C#, Java, CLI, VB und VBS, und VB.NET. Diese Beispiele funktionieren mit dem beinhalteten API-Testserver, um Sie bei der Konfiguration Ihres Systems zu unterstützen. Um die vereinheitlichte NCH Software API zusammen mit diesen Beispielen herunterzuladen, klicken Sie bitte hier....

In den unten stehenden Beispielen bezieht sich „NCHAPIKey“ auf einen eindeutigen API-Schlüsselcode, der erkennt, welches unserer Softwareprodukte Sie zu steuern versuchen und mit welchem Sie kommunizieren möchten. Alle Befehle und Argumente werden durch die einheitliche API als Zeichenfolgen gesandt, welche dann mit einer Zahl (integer Rückgabewert) und einer Ergebniszeichenfolge antworten. Für weitere Information bezüglich API-Schlüsselcodes zusammen mit den verfügbaren Befehlen und Argumenten für das bestimmte Programm besuchen Sie bitte die Startseite des Produkts und beziehen Sie sich auf die bestimmte API-Dokumentation der Anwendung. Um die vollständige Liste unserer Softwareprodukte anzusehen, klicken Sie bitte hier...

  Nach oben


Dynamic Linked Library (DLL)

DLL ist eine eigenständige Datei, die die generische Schnittstelle bereitstellt, welche zur Verbindung neu erstellter oder bereits vorhandener Anwendungen untereinander auf Code-Ebene notwendig ist. Wenn Sie Ihr Programm verteilen, müssen Sie sicherstellen, dass Sie den Pfad zur DLL einbinden und richtig adressieren. Das folgende ist ein C++ Beispiel (und kann in C leicht implementiert werden), welches die DLL lädt und einen Befehl sendet, was ein Ergebnis an ein Meldungsfeld zurückgibt.

#define API_SERVER_KEY "NCHAPIKey"

const unsigned int nArgs = 3;
LPCTSTR szArgs[] = {_T("-testapi"), _T("More Info"), _T("etc...")};

typedef DWORD (WINAPI *pFn) (LPCTSTR szProgramKey, UINT nArgs, LPCTSTR  const * szArgs, LPTSTR szResultString);

void SendCommandDLL()
{
  HMODULE hModDll = LoadLibrary(_T("nchapi.dll"));
  pFn pfSendCommand = (pFn)GetProcAddress(hModDll, "NCHAPISendCommand");

  TCHAR szResultString[8096]; 
  if ((pfSendCommand)(_T(API_SERVER_KEY), nArgs, szArgs, szResultString) == 0) {
    MessageBox(NULL, szResultString, _T("Result"), MB_OK);
  }
  FreeLibrary(hModDll);
}

  Nach oben


Component Object Model (COM) / ActiveX

COM ermöglicht sprachunabhängige, prozessübergreifende Kommunikation, was anderen Programmen erlaubt, durch eine klare Schnittstelle auf Informationen und Anfragen hinzuweisen und diese weiterzuleiten, egal welche Computerumgebung verwendet wird. ActiveX ist eine Version von Object Linking and Embedding (OLE), welches eine Erweiterung von COM ist und die gleichen Techniken zur Umsetzung verwendet. Bei Verwendung einer der Methoden müssen Sie die Datei nchapi.dll mit in Ihre Verteilung einschließen und registrieren.

Um die Datei nchapi.dll auf einem Windows Rechner zu registrieren, würden Sie in das Ausführfenster (Start -> Ausführen) etwas eingeben wie:

regsvr32 "nchapi.dll"

Das folgende ist ein VB & VBS Beispiel, welches COM verwendet, um einen Befehl zu senden, welcher ein Ergebnis an ein Einblendmenü wiedergibt.

Dim shell, client, result
set shell = CreateObject("WScript.Shell")
set client = CreateObject("NCHAPI.Client")

Dim ServerKey
ServerKey = "NCHAPIKey"
Dim nArgs
nArgs = 3
Dim szArgs
szArgs = Array("-testapi", "More Info", "etc...")
Dim szResultString

if client.SendCommand(ServerKey, CInt(nArgs), szArgs, szResultString) = 0 then
  result = shell.Popup(szResultString, 0, "Result")
end if

  Nach oben


Befehlszeilen (CLI - Command Line Interface)

Die Befehlszeile war immer eine einfache Möglichkeit, um Anwendungen zu steuern, ohne Vorkenntnisse bestimmter Programmiersprachen zu haben. Sie können diese einfache Methode der Kommunikation durch verschiedene Mittel verwenden, wie der Windows Eingabeaufforderung oder der Windows Aufgabenplanung. Wechselseitige Datenübermittlung ist möglich, da die einheitliche API fähig ist, erhaltene Werte und Informationen zurückzugeben. Alle Befehle werden von links nach rechts ausgeführt, was bedeutet, das jeder Befehl so ausgeführt wird, wie er vom Programm gelesen wird.

Die allgemeine Syntax ist:

nchapi.exe NCHAPIKey -testapi "More Info" "etc..."

  Nach oben


Java Native Interface (JNI)

JNI ist ein Rahmen, welcher dem traditionellen plattformunabhängigen Java-Code ermöglicht, eingebundene (plattformabhängige) Anwendungen zu benutzen, die für ein bestimmtes Betriebssystem geschrieben wurden. Wenn Sie Ihr Programm implementieren, müssen Sie sicherstellen, dass Sie die Datei nchapi.dll einbinden. Die folgenden sind Java-Beispiele, welche JNI zum Senden eines Befehls verwenden und ein Ergebnis an ein Dialogfeld zurückgeben:

Dieses erste Beispiel verwendet einfach die bereitgestellte NCHAPIClient Klasse als die Schnittstelle, durch welche die einheitliche NCH API aufgerufen wird:

import nch.api.NCHAPIClient;

public void sendCommandJNI() {
  String serverKey = "NCHAPIKey";
  String[] szArgs = { "-testapi", "More Info", "etc..." };
  NCHAPIClient client = new NCHAPIClient();
  if (client.sendCommand(serverKey, szArgs) == client.NCHAPI_SUCCESS) {
     JOptionPane.showMessageDialog(null, client.getResultString(), "Result", JOptionPane.INFORMATION_MESSAGE);
  }
}
Oder Sie könnten Ihre eigene Version der Klasse schreiben, aber in den meisten Fällen würde dies einfach die bereits bereitgestellte Klasse wiedergeben. Beachten Sie, dass aufgrund der Anforderungen, wie Java mit eingebundenem Code koppelt, jede von Ihnen geschriebene Klasse nch.api.NCHAPIClient benannt werden muss.

package nch.api;
private static native int NCHAPISendCommand(String szServerKey, int nArgs, String[] szArgs, String[] szResultString);

public class NCHAPIClient {

public NCHAPIClient() {
  System.loadLibrary("nchapi");

  private String serverKey = "NCHAPIKey;
  private int nArgs = 3;
  private String[] szArgs = { "-testapi", "More Info", "etc..." };
  private String[] szReturnString = null;
  
  if (NCHAPISendCommand(serverKey, nArgs, szArgs, szReturnString) == 0) {
    JOptionPane.showMessageDialog(null, szReturnString, "Result", JOptionPane.INFORMATION_MESSAGE);
  }
}
}

  Nach oben


Microsoft .NET Framework

Dies ist die aktuellste Initiative von Microsoft und stellt einen anderen sprachunabhängigen Rahmen zur Verfügung, der zur Reduzierung der Komplexität von Kommunikation und Entwicklung entworfen wurde. .NET stellt Lösungen für viele gebräuchliche Programmanforderungen zur Verfügung, ohne die Notwendigkeit, mit bestimmten Architekturen, durch die Verwendung der Common Language Infrastructure (CLI), umzugehen. Ein Wrapper wird verwendet, sodass die .NET Anwendungen auf die einheitlichen API-Funktionalitäten zugreifen können.

Das folgende ist ein C# -Beispiel mittels .NET, welches ein Ergebnis an ein Dialogfeld zurückgibt:

public partial class FormMainDialog : Form
{
  NCHApi.Client apiCOMClient;
  public FormMainDialog()
  {
    InitializeComponent();
    apiCOMClient = new NCHApi.Client();
  }
  private void buttonSendCommand_Click(object sender, EventArgs e)
  {
    string ServerKey = "NCHAPIKey";
    int nArgs = 3;
    string[] szArgs = {"-testapi", "More Info", "etc..."};
    string szResultString = "";

    if (NCHApi.NCHAPIResult.Success == apiCOMClient.SendCommand(ServerKey, nArgs, szArgs, ref szResultString))
    {
      MessageBox.Show(szResultString, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
  }
}
Das folgende ist ein VB.NET-Beispiel mittels .NET, welches ein Ergebnis an ein Dialogfeld zurückgibt:

Public Class MainForm
  Private Sub buttonSendCommand_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonSendCommand.Click
    Dim comClient As New NCHApi.Client()

    Dim ServerKey As String = "NCHAPIKey"
    Dim nArgs As Integer = 3
    Dim szArgs As String() = New String() {"-testapi", "More Info", "etc..."}
    Dim szResultString As String = ""

    Dim res As NCHApi.NCHAPIResult
      res = comClient.SendCommand(ServerKey, nArgs, szArgs, szResultString)
    If (res = NCHApi.NCHAPIResult.Success) Then
      MsgBox(szResultString, MsgBoxStyle.OkOnly & MsgBoxStyle.Information, "Result")
    End If
  End Sub
End Class

  Nach oben


Unbegrenzte Möglichkeiten

Die Verwendung der einheitlichen API von NCH Software ermöglicht eine große Vielfalt an Steuerelementen, mit buchstäblich tausenden möglichen neuen Konfigurationssystemen.

Stellen Sie sich vor, Sie sind nicht zu Hause und haben vergessen, Ihren Lieblingsradiostream aufzunehmen oder VRS dazu einzurichten, mit der Aufnahme von Telefongesprächen zu beginnen! Wählen Sie sich einfach in Ihr IVM-System ein und verwenden Sie die Eingabeaufforderungen, um Befehle durch die einheitliche API an die entsprechenden Programme zu senden, um ihnen mitzuteilen, mit der Aufnahme zu beginnen.

Was ist, wenn Sie eine Nebenstelle in Axon für eine bestimmte Zeit einrichten möchten? Verwenden Sie einfach die Windows Aufgabenplanung und die einheitliche API, um einen Befehl zur Information an Axon zu senden, dass die entsprechende Nebenstelle eingerichtet werden soll. Müssen Sie automatisch eine Nummer wählen, aber Sie sind nicht zu Hause? Verwenden Sie ebenfalls die Windows Aufgabenplanung und die einheitliche API, um IVM oder Express Talk anzuweisen, das Telefonat für Sie durchzuführen.

  Nach oben


Weitere Informationen

Wenn Sie Probleme beim Schreiben Ihrer Anwendung haben, sehen Sie bitte www.nch.com.au/support/de.

  Nach oben

  © NCH Software Seitenanfang | Datenschutz | Rechtliche Hinweise | Startseite