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 Zusammen,

ich habe ein Modul, in dem eine Funktion steht. In einem anderen Modul rufe ich während einer Prozedur die Funktion auf.

Ich bekomme immer wieder beim Testen den Fehler "Fehler beim Kompilieren - Argumenttyp ByRef unverträglich".

Hier mein Code in dem Funktionsmodul:

Public Function CreateOU(Ort as String, OUName as String)

es folgt die Funktion...

Der Funktionsaufruf in der Prozedur:

CreateOU Ort, OUName

nun habe ich mehrere Fragen:

1. muss ich in der Prozedur die Variablen erneut deklarieren?

2. warum kommt dieser Fehler? Der Datentyp ist und bleibt String..?!

Wenn keiner was dazu weiss, vielleicht kann mir einer sagen, wie man generell eine Funktion mit Parametern in eine Prozedur einbindet - oder besser worauf man achten muss :confused:

Wäre dankbar für jede Hilfe!

SF

:marine

Hi,

probiers mal mit

call Function ("hier dein Ortsname", "wert für die OUName-Variable")

Ort as String, OUName as String

.......... letzte Zeile nicht beachten

für Function dann deinen Function Namen eintragen

bzw. du kannst auch

call Function (Ort, OUName)

die Variablen Ort und Name mußt du dann aber in dem jeweiligen Modul wo du die Funktion aufrufst definiert haben.

danke für die schnelle Antwort :)

also ich lese ein Excel-Sheet aus, d.h. die Werte für die Strings ändern sich, sind keine fixen Werte.

Call CreateOU (Ort, OUName)

und mit dem OUNamen hat er ein Problem, obwohl Ort die selben Bedingungen hat.

:rolleyes:

Gruss

SF

weil es mir leichter fällt es zu lesen *g*

danke für den link, ich schau mal rein :)

Hallo

Es gibt grundsätzlich zwei variaten von Parameterübergabe.

ByVal

und

ByRef

Leidergottes ist ByRef Defaulteinstellung bei VB6 was sich in VB.NET wieder geändert hat.

Den Unterschied zwischen Call By Value und Call by Refrence kennst du ja aus der Schule.

Wenn ByRef also unverträglich ist, warum auch immer, dann nimmst einfach ByVal... ;)

Wobei da auch das ganze sicherlich mit Vorsicht zu genießen wäre.. Kommt immer darauf an, was du in der arbeitende Funktion mit dem Parameter-Wert machst...Änderst du die und willst die Änderungen auch in der aufrufenden MEthode haben, dann hast du zwei Möglichkeiten, entweder du übergibst die Variable bzw. Objekt ByRef oder eben ByVal und gibt die geänderte Inhalte dann als Rückgabewert wieder zurück...was in deinem Fall, wahrscheinlich am sinnvollsten wäre, da du dein Obj, nicht ByRef übergeben kannst, warum auch immer...

Nette grüsse

Blear

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.