vierlagig
Level-1
- Beiträge
- 9.882
- Reaktionspunkte
- 2.021
-> Hier kostenlos registrieren
habe einen DDE Client mit C# zusammengeklickt.
Hilfsbibliothek: NDde [ http://ndde.codeplex.com/ ] (sonst gibts ja kaum was brauchbares )
Wirtsystem: Win2K (also max. .net 2.0 mgl.)
Ablauf:
Verbindung aufbauen:
überwachung hinzufügen:
der Event gDdeClient_Advise funktioniert auch...
ABER das trennen der Verbindung bei Disconnect-Wunsch oder schließen des Clients mit:
funktioniert nicht. ich sehe per netstat immer noch die offene Verdindung (Status: HERGESTELLT), auch nach mehreren Minuten noch.
auch folgendes führt nicht zum Erfolg:
und auch alle Versuche mit Dispose() sind gescheitert
(die NDde-Dokumentation ist diesbezüglich eben auch sehr dünn)
irgendwer, irgendwelche Ideen und/oder Erfahrungen?
Hilfsbibliothek: NDde [ http://ndde.codeplex.com/ ] (sonst gibts ja kaum was brauchbares )
Wirtsystem: Win2K (also max. .net 2.0 mgl.)
Ablauf:
Verbindung aufbauen:
Code:
*
public bool connect(string _sService, string _sTopic)
{
try
{
gDdeClient = new DdeClient(_sService, _sTopic, this);
gDdeClient.Disconnected += gDdeClient_Disconnected;
gDdeClient.Connect();
return true;
}
catch (Exception ex)
{
gsError = ex.Message;
return false;
}
}
überwachung hinzufügen:
Code:
*
public bool advise(string _AsItem, int _iFormat, bool _xHot, int _iTimeOut, bool _xAdd)
{
try
{
gDdeClient.StartAdvise(_AsItem, _iFormat, _xHot, _iTimeOut);
if(_xAdd)
gDdeClient.Advise += gDdeClient_Advise;
return true;
}
catch (Exception ex)
{
gsError = ex.Message;
return false;
}
}
der Event gDdeClient_Advise funktioniert auch...
ABER das trennen der Verbindung bei Disconnect-Wunsch oder schließen des Clients mit:
Code:
*
gDdeClient.Disconnect();
funktioniert nicht. ich sehe per netstat immer noch die offene Verdindung (Status: HERGESTELLT), auch nach mehreren Minuten noch.
auch folgendes führt nicht zum Erfolg:
Code:
*
foreach (string _sItem in gLisItems)
{
gDdeClient.StopAdvise(_sItem,60000);
displayTextBox.Text = displayTextBox.Text + Environment.NewLine + _sItem + "disconnected";
}
gDdeClient.Disconnect();
und auch alle Versuche mit Dispose() sind gescheitert
(die NDde-Dokumentation ist diesbezüglich eben auch sehr dünn)
irgendwer, irgendwelche Ideen und/oder Erfahrungen?