Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  VB Typfehler

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
Autor Thema:  VB Typfehler (2261 mal gelesen)
DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 07. Apr. 2011 09:31    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,

ich habe vor einiger Zeit ein CATScript geschrieben in dem die Auswahl eines Parameters über dessen Namen erfolgte. Das funktioniert astrein in dem Script.
Wenn ich nun dasselbe versuche in einem VB-Programm bringt er eine Fehlermeldung mit der ich nix anfangen kann.

Code:
Set intDrwParameter = intDrwParametersObj.Item("D_DOC_PART")

Fehlermeldung bezieht sich auf "D_DOC_PART":

System.InvalidCastException wurde nicht behandelt.
  Message="Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Schnittstellentyp "KnowledgewareTypeLib.Parameters" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{60CE5A40-5478-11D1-A272-0000F87546FD}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE))."
  Source="ReplaceFrame"
  StackTrace:
      bei ReplaceFrame.SelectSize.fConnectParameters() in V:\makros\ADC-Scripting\visual_basic\PSAD-Toolbox\SelectSize.vb:Zeile 338.
      bei ReplaceFrame.SelectSize.RB_Start_Click(Object sender, EventArgs e) in V:\makros\ADC-Scripting\visual_basic\PSAD-Toolbox\SelectSize.vb:Zeile 49.
      bei System.Windows.Forms.Control.OnClick(EventArgs e)
      bei System.Windows.Forms.Button.OnClick(EventArgs e)
      bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
      bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      bei System.Windows.Forms.Control.WndProc(Message& m)
      bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
      bei System.Windows.Forms.Button.WndProc(Message& m)
      bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
      bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      bei System.Windows.Forms.Application.Run(ApplicationContext context)
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      bei ReplaceFrame.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
      bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
      bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      bei System.Threading.ThreadHelper.ThreadStart()
  InnerException:

Hat jemand eine Idee woran das liegen könnte? 

Vielen Dank
DonYouAn

------------------
Wenn man's kann ist es keine Kunst. Wenn man's nicht kann erst recht nicht! (Karl Valentin) 

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 07. Apr. 2011 17:47    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 DonYouAn 10 Unities + Antwort hilfreich

Versuch mal intDrwParametersObj as Object zu definieren.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 08. Apr. 2011 08:20    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 HoBLila,

das war die Lösung. intDrwParametersObj war als Parameter deklariert. Als Object macht das Programm was ich will.
Aber wieso gibt es da einen Unterschied zwischen CATScript und VB? 
Naja, egal, Hauptsache es läuft ...

Danke und Gruzz
DonYouAn

------------------
Wenn man's kann ist es keine Kunst. Wenn man's nicht kann erst recht nicht! (Karl Valentin) 

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 08. Apr. 2011 09:40    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 DonYouAn 10 Unities + Antwort hilfreich

Die Wege von Dassault sind unergründlich. :-)

Spaß beiseite:
Wenn Du eine Methode über COM in CATIA aufrufst, der Du Parameter übergeben musst, die einen bestimmten Typ haben, dann will er, dass das aufrufende Object vom Typ Object oder Variant ist, also nicht näher definiert.
Was schade ist, da man so das IntelliSense verliert und mehr Speicher verbraucht, es ist aber eben so, auch bei der Selection, wenn Du da SelectElement2() verwenden möchtest...

Ich vermute es liegt am LateBinding im CATIA selbst.

Naja so lange es funktioniert und man es weiß geht's ja. :-)

Edit: Ich korrigiere, die bedingungen waren glaube ich Werte übergeben und zurück erhalten in kombination.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

[Diese Nachricht wurde von HoBLila am 08. Apr. 2011 editiert.]

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)2025 CAD.de | Impressum | Datenschutz