Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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();


  • Autor
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

Weil es sein kann, dass der Benutzer die Daten für die Verbindung hat oder nicht. Wenn nicht, werden standardwerte genommen.
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");

  • Autor
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

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

VB-Script? Du schreibst einen COM-Server?

Warum sagst du das nicht vorher? :rolleyes:

IDL oder attributiert?

P.S.: Verschoben nach C++: Compiler, IDEs, APIs

  • Autor

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

Also meiner Meinung nach muss die Methode so aussehen:

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

Damit klappt bei mir ein Aufruf aus VBScript ohne Parameter.

Bei mit mekert das VB-Script immer noch dies als Fehler an.
Immer noch? Was hast du denn geändert?

Muss ich vielleicht an einer anderen Stelle noch etwas deklarieren (Funktion, Klasse usw.)?
Nein, eigentlich nicht. Wenn du willst, kannst du mir das Projekt per Mail schicken, dann kann ich es mir mal ansehen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.