Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  eigene Klassen

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:  eigene Klassen (875 mal gelesen)
wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 09. Mrz. 2010 18: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


Klassen.JPG

 
Hallo,
ich wollte mit VBACAT eine eigene Klasse mit Eigenschaften und Methoden erstellen. Habe das ganze in einem Klassenmodul versucht. Funktioniert aber nicht so, wie ich es sonst kenne und in der Hilfe habe ich nichts dazu gefunden. Kann mir jemand sagen, wie in dem Klassenmodul das ganze aussehen muss?
 

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 09. Mrz. 2010 19:33    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 wulfgang 10 Unities + Antwort hilfreich

Hallo,

benutze Google mit z.B. "vba class".
In CATIA ist es genauso, wie in anderen VBA-Programmen, wie z.B. Excel VBA.
Hier die ersten zwei Treffer:
Classes in VBA
Using Classes in VBA

Gruß,
Zoltan

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 09. Mrz. 2010 21:02    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,
danke für deine Antwort. Habe das mal ausprobiert. Leider bekomme ich nur eine leere MessageBox.Irgendwo ist da noch ein kleiner Anfängerfehler.

Mein Klassenmodul:

Code:
Public Property Get dXCoordinate() As String
dXCoordinate = pdXValue
End Property

Public Property Let dXCoordinate(dXArgument As String)
pdXValue = dXArgument
End Property


Mein Sub:

Code:
Sub SubTest()
    Dim MeinPunkt As PointClass
    Set MeinPunkt = New PointClass
    MeinPunkt.dXCoordinate = "10"
    MsgBox (MeinPunkt.dXCoordinate)
End Sub

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 09. Mrz. 2010 21:28    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 wulfgang 10 Unities + Antwort hilfreich

Hallo,

bei mir funktioniert es so:
PointClass.cls

Code:
Private pdXValue As String 'Das fehlt bei dir wahrscheinlich.
'In dieser klasseninterner Variable wird der Wert gespeichert.

Public Property Get dXCoordinate() As String
dXCoordinate = pdXValue
End Property

Public Property Let dXCoordinate(dXArgument As String)
pdXValue = dXArgument
End Property



Testcode ist genau deiner.

Ich würde dir generell anraten, in VBA mit "Option explicit" zu arbeiten (d.h. jede Variable muss zumindest deklariert werden).
Es ist zwar manchmal aufwendiger, aber viel sicherer.

Gruß,
Zoltan

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 09. Mrz. 2010 22:11    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, ja danke das war mein Fehler.

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 10. Mrz. 2010 08:38    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

Guten Morgen,
habe doch noch mal eine Frage. WOllte nun eine Set-Methode zum Setzen mehrerer Eigenschaften schreiben. Bei nur einem Übergabeparameter funktioniert das ganze auch. Bei mehreren leider nicht.
Code:
Sub test()
    Dim Toolpoint As PointClass
    Set Toolpoint = New PointClass
   
    Toolpoint.SetValue (1, 1) 'Diese Zeile wird bei mir rot markiert

End Sub



Code:
Private pdXValue As Double
Private pdYValue As Double

Public Property Get dXCoordinate() As Double
dXCoordinate = pdXValue
End Property

Public Property Let dXCoordinate(dXArgument As Double)
pdXValue = dXArgument
End Property

Public Property Get dYCoordinate() As Double
dYCoordinate = pdYValue
End Property

Public Property Let dYCoordinate(dYArgument As Double)
pdYValue = dYArgument
End Property

Public Sub SetValue(dXArgument As Double, dYArgument As Double)
Me.dXCoordinate = dXArgument
Me.dYCoordinate = dYArgument
End Sub


[Diese Nachricht wurde von wulfgang am 10. Mrz. 2010 editiert.]

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 10. Mrz. 2010 20:02    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 wulfgang 10 Unities + Antwort hilfreich

Hallo,

lasse die Klammer weg oder schreibe einen Call davor.

Und das sind allgemeine Programmierfragen. Bitte Google nicht vergessen.
Es steht ganz eindeutig in der zweiten Link.

Gruß,
Zoltan

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 11. Mrz. 2010 09:57    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

Ja danke das war die Lösung.

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 12. Mrz. 2010 11:59    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 wulfgang 10 Unities + Antwort hilfreich

Hallo,

eine Frage zu der Klasse: wenn ich mir das Objekt Toolpoint
ins Watch ziehe, sehe ich sowohl die Variable aus der Let- als auch aus der Get-Prodzedur als Property vom Toolpoint (z.B. dXCoordinate und pdXValue), die auch immer den selben Wert haben.
Eigentlich handelt es sich doch um ein und dieselbe Property, oder verstehe ich irgendwas falsch?
(Es geht jetzt nicht speziell um den hier geposteten Code, das ist mir bei eigenen Klassen schon öfter aufgefallen.)

Gruß TomTom

------------------
tomtom1972

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