Ich bin noch ein Anfänger, was C#-Programmierung betrifft.
Ich bin dabei ein Programm zu schreiben, was auf TAPI-Events (primär Offering und Disconnected ) reagiert und die Informationen in ein Fenster ausgibt.
Mein Programm erkennt die Events auf der TAPI ohne Probleme, allerdings unterbricht das Programm seine Arbeit, sobald der Content im Fenster geändert wird bzw. sobald das Fenster mit show() angezeigt bzw. mit close() ausgeblendet werden soll.
Wenn dann ein neues Event auftritt arbeitet das Programm wieder genau bis an die stelle und hört dann auf.
Wenn ich das Fenster manuell über ein anderes Fenster und ein Button aufrufe funktioniert dies ohne Probleme.
Was die TAPI betrifft halte ich mich momentan an dieses Beispiel TAPI-3-0-Application-development-using-C-NET.
Momentan hab ich Probiert das Fenster schon zu öffnen, sobald das Programm gestartet wird und es dann mit der Visibility zu verstecken. Selbst wenn ich dann die zuweisung des Contents auskommentiere bleibt das Programm beim ausführen der zuweisung der neuen Visibility (Visible bzw hidden) hängen.
Hier ist mal der Skript-Teil der für die Anzeige zuständig ist.
Ich hoffe jemand kann mir helfen.
grüße merzi
Ich bin dabei ein Programm zu schreiben, was auf TAPI-Events (primär Offering und Disconnected ) reagiert und die Informationen in ein Fenster ausgibt.
Mein Programm erkennt die Events auf der TAPI ohne Probleme, allerdings unterbricht das Programm seine Arbeit, sobald der Content im Fenster geändert wird bzw. sobald das Fenster mit show() angezeigt bzw. mit close() ausgeblendet werden soll.
Wenn dann ein neues Event auftritt arbeitet das Programm wieder genau bis an die stelle und hört dann auf.
Wenn ich das Fenster manuell über ein anderes Fenster und ein Button aufrufe funktioniert dies ohne Probleme.
Was die TAPI betrifft halte ich mich momentan an dieses Beispiel TAPI-3-0-Application-development-using-C-NET.
Momentan hab ich Probiert das Fenster schon zu öffnen, sobald das Programm gestartet wird und es dann mit der Visibility zu verstecken. Selbst wenn ich dann die zuweisung des Contents auskommentiere bleibt das Programm beim ausführen der zuweisung der neuen Visibility (Visible bzw hidden) hängen.
Hier ist mal der Skript-Teil der für die Anzeige zuständig ist.
Code:
public void setData(TAPI3Lib.ITCallInfo Callinfo)
{
// Abfrage ob CallState Offering ist
if (Callinfo.CallState == TAPI3Lib.CALL_STATE.CS_OFFERING)
{
// Nummer setzen mit der Nummer aus der Callinfo
_Nummer = Callinfo.get_CallInfoString(CALLINFO_STRING.CIS_CALLERIDNUMBER);
// buffer DataRow setzen
DataRow buffer;
// Abfragen ob der DataAdapter-Verbunden ist
if (_Data.IsConnected == true)
{
// Wenn Verbunden, dann Datenbank nach Rufnummer abfragen
buffer = _Data.getKDNr(Callinfo.get_CallInfoString(CALLINFO_STRING.CIS_CALLERIDNUMBER));
}
else
{
// Wenn nicht Verbunden, buffer auf null setzen
buffer = null;
}
// Label für die Telefonnummer setzen (Telefonnummer und Callername, falls bekannt)
lbltel.Content = Callinfo.get_CallInfoString(CALLINFO_STRING.CIS_CALLERIDNUMBER) + " (" +
Callinfo.get_CallInfoString(CALLINFO_STRING.CIS_CALLERIDNAME) + ")";
// Abfragen, ob buffer null ist
if (buffer == null)
{
// Wenn ja Label für den Namen auf Unbekannt setzen
lblname.Content = "Unbekannt";
// Label für die Art des OMS-Interfaces auf Leer setzen
lblart.Content = string.Empty;
}
// Wenn buffer nicht leer ist, abfragen, ob Spalte LIEFNR vorhanden ist
else if (buffer.Table.Columns.Contains("LIEFNR"))
{
// Wenn ja Label für die Art des OMS-Interfaces auf Einkauf setzen
lblart.Content = "Einkauf";
// Label für den Namen mit dem Firmen-Namen aus der Datenbank setzen
lblname.Content = buffer["NAME"].ToString().Trim();
// MessageBox.Show("Einkauf " + + " " + buffer["LIEFNR"].ToString());
}
// Wenn buffer nicht leer ist, abfragen, ob Spalte KUNDENNR vorhanden ist
else if (buffer.Table.Columns.Contains("KUNDENNR"))
{
// Wenn ja Label für die Art des OMS-Interfaces auf Verkauf setzen
lblart.Content = "Verkauf";
// Label für den Namen mit dem Kunden-Namen aus der Datenbank setzen
lblname.Content = buffer["VORNAME"].ToString().Trim() + " " + buffer["KUNDENNAME"].ToString().Trim() + "(" + buffer["KUNDENNR"] + ")";
//MessageBox.Show( buffer["KUNDENNR"].ToString() );
}
this.Visibility = Visibility.Visible;
}
// Abfragen, ob CallState Disconnected ist
else if (Callinfo.CallState == TAPI3Lib.CALL_STATE.CS_DISCONNECTED)
{
// Wenn ja Nummer auf null setzen
_Nummer = null;
// Anruf-Fenster schliessen
this.Visibility = Visibility.Hidden;
}
}
Ich hoffe jemand kann mir helfen.
grüße merzi