Zum Inhalt springen

Mehrfachdeklaration einer Funktion


Empfohlene Beiträge

Hallo Leute,

ich möchte das eine Funktion mit unterschiedlichen bzw. auch mit keinen Parametern aufgerufen werden kann. Ich weiss mittlerweile das ich irgendwie mit VARIANT arbeiten muss, weiss aber leider noch nicht so genau, wie ich damit arbeiten muss.

Meine Funktion sieht bis jetzt wie folgt aus:

VARIANT_BOOL CAnbindungKlickTelASCtrl::ConnectAddressServer(LONG lPort, LPCTSTR bstrIPAddress)

{

//CODE

}

und soll wie folgt aufgrufen werden können:

CAnbindungKlickTelASCtrl::ConnectAddressServer(Port, bstrIPAddress)

CAnbindungKlickTelASCtrl::ConnectAddressServer(lPort)

CAnbindungKlickTelASCtrl::ConnectAddressServer()

wenn ich meine Funktion mit beiden Parametern aufrufe, ist dies kein Problem, sobald ich einen Parameter weglasse, knallt es.

Gruß aus Hanau

Patrick

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Leute,

ich möchte das eine Funktion mit unterschiedlichen bzw. auch mit keinen Parametern aufgerufen werden kann. Ich weiss mittlerweile das ich irgendwie mit VARIANT arbeiten muss, weiss aber leider noch nicht so genau, wie ich damit arbeiten muss.

warum ??

und soll wie folgt aufgrufen werden können:

CAnbindungKlickTelASCtrl::ConnectAddressServer(Port, bstrIPAddress)

CAnbindungKlickTelASCtrl::ConnectAddressServer(lPort)

CAnbindungKlickTelASCtrl::ConnectAddressServer()

Patrick

ja dann deklariere die einfach im Heder etwa so:


ConnectAddressServer(datentyp Port,datentyp bstrIPAddress);

ConnectAddressServer(datentyp lPort);

ConnectAddressServer();


Link zu diesem Kommentar
Auf anderen Seiten teilen

warum ??

Weil es sein kann, dass der Benutzer die Daten für die Verbindung hat oder nicht. Wenn nicht, werden standardwerte genommen.

Eine angabe in der Klasse hat leider nicht funktioniert. Ich hatte vergessen anzugeben, dass das ganze eine ActiveX Komponente ist, daher muss dies auch in der IDL-Datei hinterlegt werden.

Gruß aus Hanau

Patrick

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann brauchst du nur eine Funktion. Gib einfach in der Funktionsdeklaration die Standardwerte an:

ConnectAddressServer(datentyp Port = 4711, datentyp bstrIPAddress = L"127.0.0.1");

Das habe ich probiert, wenn ich versuche ein VB-Script auszuführen, bekomme ich die Fehlermeldung: "Das Argument ist nicht Optional".

Gruß aus Hanau

Patrick

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe das jetzt wie folgt aufgebaut:

[id(1), helpstring("method ConnectAddressServer")]		VARIANT_BOOL ConnectAddressServer([in, defaultvalue(5000)] LONG Port, [in, defaultvalue("")] BSTR IPAddress);

Ich bekomme aber immer noch die Fehlermeldung: "Das Argument ist nicht Optional".

Habe ich etwas falsch eingetragen oder habe ich etwas vergessen?

Gruß aus Hanau

Patrick

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...