Schneeflocke Geschrieben 24. September 2002 Geschrieben 24. September 2002 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 Zitieren
Schattenfeder Geschrieben 24. September 2002 Geschrieben 24. September 2002 Hi, probiers mal mit call Function ("hier dein Ortsname", "wert für die OUName-Variable") Ort as String, OUName as String Zitieren
Schattenfeder Geschrieben 24. September 2002 Geschrieben 24. September 2002 .......... 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. Zitieren
Schneeflocke Geschrieben 24. September 2002 Autor Geschrieben 24. September 2002 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. Gruss SF Zitieren
Klotzkopp Geschrieben 24. September 2002 Geschrieben 24. September 2002 Warum schreibst Du eigentlich alles fett? Da geht der Sinn der Hervorhebung irgendwie verloren... Hier gibts einige Informationen über die Typisierung von Parametern in VB. Zitieren
Schneeflocke Geschrieben 24. September 2002 Autor Geschrieben 24. September 2002 weil es mir leichter fällt es zu lesen *g* danke für den link, ich schau mal rein Zitieren
BlearSun Geschrieben 26. September 2002 Geschrieben 26. September 2002 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 Zitieren
Empfohlene Beiträge
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.