Parikon Opublikowano 4 Listopada 2019 Zgłoś Opublikowano 4 Listopada 2019 (edytowane) Po aktualizacji do 2020 Sp1 jeden z moich programów przestał działać. Wyskakuje błąd eRegisteredAplicationidnotfound. Prawdopodobnie w tej wersji przestaje wykonywać się następujący kod. // Open the Registered Application table for read RegAppTable acRegAppTbl; acRegAppTbl = tr.GetObject(db.RegAppTableId, OpenMode.ForRead) as RegAppTable; // Check to see if the app "ACAD_DSTYLE_DIMJAG_POSITION" is // registered and if not add it to the RegApp table if (acRegAppTbl.Has("ZWCAD_DSTYLE_DIMJAG_POSITION") == false) { using (RegAppTableRecord acRegAppTblRec = new RegAppTableRecord()) { acRegAppTblRec.Name = "ZWCAD_DSTYLE_DIMJAG_POSITION"; acRegAppTbl.UpgradeOpen(); acRegAppTbl.Add(acRegAppTblRec); tr.AddNewlyCreatedDBObject(acRegAppTblRec, true); } } Dalsza część kodu // Create a result buffer to define the Xdata ResultBuffer acResBuf = new ResultBuffer(); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataRegAppName, "ZWCAD_DSTYLE_DIMJAG_POSITION")); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 387)); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 3)); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 389)); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataXCoordinate, new zzg.Point3d(-1.26985, 3.91514, 0))); zzd.ResultBuffer rb = new zzd.ResultBuffer(new zzd.TypedValue[10] {new zzd.TypedValue((int)zzd.DxfCode.ExtendedDataRegAppName, "ZWCAD"), new zzd.TypedValue((int)zzd.DxfCode.ExtendedDataAsciiString, "DSTYLE"), new zzd.TypedValue((int)zzd.DxfCode.ExtendedDataControlString, "{"), new TypedValue((int)DxfCode.ExtendedDataInteger16, 279 ), //DIMTMOVE new TypedValue((int)DxfCode.ExtendedDataInteger16, 40 ), // DIMSCALE new TypedValue((int)DxfCode.ExtendedDataInteger16, 271 ), // DIMDEC new TypedValue((int)DxfCode.ExtendedDataInteger16, 41), // DIMASZ new TypedValue((int)DxfCode.ExtendedDataReal, 342 ), // DIMBLK new TypedValue((int)DxfCode.ExtendedDataReal, 144 ), // DIMLFAC new TypedValue((int)DxfCode.ExtendedDataControlString, "}" )}); Edytowane 4 Listopada 2019 przez Parikon
Parikon Opublikowano 4 Listopada 2019 Autor Zgłoś Opublikowano 4 Listopada 2019 Już wiem kiedy przestaje działać. Gdy chcę wywołać wcześniej zdefiniowany zzd.ResultBuffer rb tym kodem // Set the XData on our object //poniższej linijki już nie wykonuje tylko wypisuje komunikat błędu "eRegisteredAplicationidnotfound" wymiar.XData = rb; wymiar.XData = acResBuf; wymiar.XDataTransformBy(mat); wymiar.Dispose(); wymiar_start = koniec;
Parikon Opublikowano 4 Listopada 2019 Autor Zgłoś Opublikowano 4 Listopada 2019 Temat do zamknięcia. Wywaliłem całkiem obiekty XData z kodu i wszystko ok.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się