Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Problem objektverweis

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Problem objektverweis (1746 mal gelesen)
uwe.a
Ehrenmitglied
maschbau-ing.


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

Beiträge: 1939
Registriert: 20.12.2000

Windows7/64Pro
Vmware7.1 UG11-Nx9

erstellt am: 02. Nov. 2010 10:26    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

Habe gerade ein hänger 
vielleich kann einer helfen
ich bekomme immer wieder:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt
in folgender Routine.:

Sub ExportCGM(dwg as Drawings.DrawingSheet, outputFile as string, units as integer)

Dim filenames1(0) As String
Dim objCGM as CGMBuilder
objCGM = workPart.PlotManager.CreateCgmBuilder()

objCGM.OutputText = CGMBuilder.OutputTextOption.Polylines
if units = 0 then
objCGM.Units = CGMBuilder.UnitsOption.English
else
objCGM.Units = CGMBuilder.UnitsOption.Metric
end if
objCGM.XDimension = dwg.height
objCGM.YDimension = dwg.length
objCGM.VdcCoordinates = CGMBuilder.Vdc.Real
objCGM.RasterImages = True

Dim sheets1(0) As NXObject
Dim drawingSheet1 As Drawings.DrawingSheet = CType(dwg, Drawings.DrawingSheet)
sheets1(0) = drawingSheet1
objCGM.SourceBuilder.SetSheets(sheets1)

filenames1(0) = outputFile
objCGM.SetFilenames(filenames1)

Dim nXObject1 As NXObject
nXObject1 = objCGM.Commit()

objCGM.Destroy()

End Sub

thx in ad

------------------
mfg
uwe.a

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

gfx-toxic.de
Moderator
Konstruktion / Anwenderbetreuung


Sehen Sie sich das Profil von gfx-toxic.de an!   Senden Sie eine Private Message an matthias-p  Schreiben Sie einen Gästebucheintrag für matthias-p

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 02. Nov. 2010 14: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 Nur für uwe.a 10 Unities + Antwort hilfreich

hallo uwe,

also ich kann auf anhieb jetzt keinen fehler entdecken.
Welche Fehlermeldung bekommst du den?

Eine kleine Anmerkung:

Code:
Dim drawingSheet1 As Drawings.DrawingSheet = CType(dwg, Drawings.DrawingSheet)

ist die Zeile nicht überflüssig?
Du übergibst doch eh schon den Typ DrawingSheet dwg

Code:
sheets1(0) = dwg
objCGM.SourceBuilder.SetSheets(sheets1)

sollte doch auch gehn...

------------------
Gruß Matthias
------------------------------------
ICQ: 163190295

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

Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 02. Nov. 2010 15: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 Nur für uwe.a 10 Unities + Antwort hilfreich

Zitat:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Diese Meldung erscheint, wenn man eine ungültige Instanz eines Objektes verwendet.

Die Fehlermeldung im Syslog sollte eigentlich auch die Zeilennummer ausgeben.
Würde dann die Objekte in dieser Zeile mal mit "ToString" ins Listing-Fenster schreiben.

Beispiel:

Code:

Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()
Dim theUI As UI = UI.GetUI()
Dim lw As ListingWindow
lw.Open()

End Sub
End Module


Da lw nur deklariert, aber nicht instanziiert wurde, kommt völlig zu Recht folgender Fehler:

Code:

System.NullReferenceException: Object reference not set to an instance of an object.
  at NXJournal.Main() in c:\temp\NXJournals5956\journal.vb:line 11

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

uwe.a
Ehrenmitglied
maschbau-ing.


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

Beiträge: 1939
Registriert: 20.12.2000

Windows7/64Pro
Vmware7.1 UG11-Nx9

erstellt am: 02. Nov. 2010 22:00    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

Danke für die Antworten,
komme aber nicht weiter, gibts noch irgendwelche Tipps zu
eingrenzen des Problems. tostring habe ich mit den Übergabeparametern
hinter mir, aber bringt mich auch nicht weiter ????

------------------
mfg
uwe.a

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 03. Nov. 2010 10:36    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 uwe.a 10 Unities + Antwort hilfreich

Hallo Uwe,

an der Sub ist, wie Matthias schon gesagt hat, auf den ersten Blick kein Fehler zu erkennen. Lediglich die Deklaration

Code:
Dim filenames1(0) As String
erscheint mir rätselhaft, da ein String mit nur einem Element ja ein einzelner Character ist. Das hat allerdings mit der Exception eher nichts zu tun.
Zum Eingrenzen des Fehlers kannst Du gleich am Anfang der Sub ff. machen:

Code:
dim lw as ListingWindow = Session.GetSession.ListingWindow
lw.open()
lw.writeline(dwg.Tostring)
lw.writeline(outputFile)
lw.writeline(CSTR(units))

Damit wären die Parameter geprüft. Analog dazu kannst Du jede Variable in der Sub prüfen. Irgendwo wird's dann schon krachen. Alternative zum ListingWindow ist eine Messagebox zur Ausgabe des Variableninhalts oder das Schreiben ins NX- Logfile. Am Prinzip der Fehlersuche ändert das nichts: Jede Variable auf deren Inhalt prüfen.

Anderer Ansatz: Mit Try/Catch die verdächtigen Zeilen überwachen und die Exception auswerten. z.B.:

Code:
Try
  ...
  ...
  ...
Catch ex as Exception
  MessageBox.Show(ex.Message)
End Try

Wenn das nicht hilft, kann ich Dir anbieten, das Journal mal im Debugger anzuschauen. Dazu bitte vollständig, am besten gleich als VS- Projekt bereitstellen.

Gruß, Michael

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

uwe.a
Ehrenmitglied
maschbau-ing.


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

Beiträge: 1939
Registriert: 20.12.2000

Windows7/64Pro
Vmware7.1 UG11-Nx9

erstellt am: 04. Nov. 2010 16:17    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

habs gefunden,
falscher typ bei der Übergabe aus dem Hauptprogramm.
Danke noch mal an alle.
Zuastzfrage, kann ich ( für einen langen Batchprocess)
einen generellen Abbruch definieren mit Abbruchknopf?

------------------
mfg
uwe.a

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



Ingenieur Maschinenbau / Konstruktion und Entwicklung (m/w/d)

Ingenieur Maschinenbau / Konstruktion und Entwicklung (m/w/d)
Einstieg als: Festanstellung | Art:
Vollzeit | Befristung: Unbefristet | Unternehmensbereich: GTC | Arbeitsort: Egelsbach

Automation ist unsere Leidenschaft ? Ihre auch? Begeistern Sie sich für neue Technologien, ergreifen die Initiative und arbeiten selbstständig? Dann sind Sie bei uns genau richtig....

Anzeige ansehenMaschinenbau
mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 05. Nov. 2010 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 uwe.a 10 Unities + Antwort hilfreich

Hallo Uwe,

mit Application.Doevents() innerhalb der vermuteten Schleife reagiert eine WinForm auf Events - also auch auf einen Button-Klick. Über den Button kanst Du z.B. eine globale Variable setzen und diese in der Schleife als Abbruchkriterium nutzen.

Gruß, Michael

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