Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

.......... 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.

Geschrieben

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

Geschrieben

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

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...