Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Übergabe an Private Sub

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Übergabe an Private Sub (863 mal gelesen)
Criollo
Mitglied



Sehen Sie sich das Profil von Criollo an!   Senden Sie eine Private Message an Criollo  Schreiben Sie einen Gästebucheintrag für Criollo

Beiträge: 42
Registriert: 07.11.2008

erstellt am: 22. Sep. 2011 08:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

bin gerade dabei ein einfaches Skript mit Benutzeroberfläche zu schreiben. Da ich sowas zum ersten Mal mache, bin ich da noch etwas wackelig unterwegs.

Folgendes Problem:
Beim Klick auf eine Schaltfläche, soll ein Listenfeld mit Werten gefüllt werden. Die Werte sollen aus einem Array kommen, den ich im Vorfeld schon mit Werten gefüllt habe.

Der Code für den Schaltflächenklick sieht folgendermassen aus.

Private Sub COM_Show_SNR_Click()

Dim a As Variant

For Each a In arr_snr
    Me.List_SNR.AddItem (a)
Next

End Sub

Es kommt aber immer die Fehlermeldung dass die Typen unverträglich sind, und es wird die Zeile mit "for each" markiert. Irgendwie stehe ich da gerade auf dem Schlauch.

Vielleicht kann mir da jemand weiterhelfen.

Viele Grüsse
Crio

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tiberius
Mitglied
 


Sehen Sie sich das Profil von Tiberius an!   Senden Sie eine Private Message an Tiberius  Schreiben Sie einen Gästebucheintrag für Tiberius

Beiträge: 414
Registriert: 19.02.2002

SWX 2013 SP2 (unter anderen)
Windows 7 Prof. 64 Bit
Intel Xeon E5-2643
NVIDIA Quadro 4000
32 GB Ram

erstellt am: 22. Sep. 2011 08:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Criollo 10 Unities + Antwort hilfreich

Wie und wo ist die Variable arr_snr definiert?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

meisterlumpi
Mitglied



Sehen Sie sich das Profil von meisterlumpi an!   Senden Sie eine Private Message an meisterlumpi  Schreiben Sie einen Gästebucheintrag für meisterlumpi

Beiträge: 118
Registriert: 15.04.2011

Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64

erstellt am: 22. Sep. 2011 08:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Criollo 10 Unities + Antwort hilfreich

das for each geht meines wissens nach nicht mit arrays

probier mal sowas

Code:

For i = LBound(arr_snr) to UBound(arr_snr)
    Me.List_SNR.AddItem arr_snr(i)
Next

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Criollo
Mitglied



Sehen Sie sich das Profil von Criollo an!   Senden Sie eine Private Message an Criollo  Schreiben Sie einen Gästebucheintrag für Criollo

Beiträge: 42
Registriert: 07.11.2008

erstellt am: 22. Sep. 2011 09:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

das mit "For each" ist mit den Arrays eigentlich kein Problem, da ich das im vorhergehenden Makrolauf schon verwendet habe. Also das läuft eigentlich.

Der Array arr_snr() ist im vorhergehenden Code definiert.

Private Sub UserForm_Initialize()

Dim mydoc As Document
Dim myroot As Product
Dim mypart As Part
Dim arr_snr()

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

meisterlumpi
Mitglied



Sehen Sie sich das Profil von meisterlumpi an!   Senden Sie eine Private Message an meisterlumpi  Schreiben Sie einen Gästebucheintrag für meisterlumpi

Beiträge: 118
Registriert: 15.04.2011

Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64

erstellt am: 22. Sep. 2011 09:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Criollo 10 Unities + Antwort hilfreich

Zitat:
das mit "For each" ist mit den Arrays eigentlich kein Problem, da ich das im vorhergehenden Makrolauf schon verwendet habe.
- wieder was gelernt.. :-)

wenn du 'arr_snr()' in der 'Sub UserForm_Initialize' deklarierst, ist das array auch nur in dieser sub gültig.
Versuch mal 'arr_snr()' als public array ganz oben im modul zu deklarieren, noch vor der ersten function oder sub

Code:

Public arr_snr()

Private Sub UserForm_Initialize()

Dim mydoc As Document
Dim myroot As Product
Dim mypart As Part
'''Dim arr_snr() ' <- diese zeile muss dann weg

..
..
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Criollo
Mitglied



Sehen Sie sich das Profil von Criollo an!   Senden Sie eine Private Message an Criollo  Schreiben Sie einen Gästebucheintrag für Criollo

Beiträge: 42
Registriert: 07.11.2008

erstellt am: 22. Sep. 2011 09:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

jetzt funktioniert es.
Es klappt allerdings nur wenn ich die Variable nicht als Public beschreibe (siehe Code)

Option Explicit

Dim arr_snr()

Private Sub UserForm_Initialize()

Sobald ich Public mache, kommt die Fehlermeldung - "Konstanten, Zeichenketten fester Länge, benutzerdefinierte Datenfelder und Declare-Anweisungen sind als Publicelemente von Objektmodulen nicht zugelaseen."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz