Parikon Opublikowano 4 Listopada 2019 Zgłoś Udostępnij 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 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Parikon Opublikowano 4 Listopada 2019 Autor Zgłoś Udostępnij 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; Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Parikon Opublikowano 4 Listopada 2019 Autor Zgłoś Udostępnij Opublikowano 4 Listopada 2019 Temat do zamknięcia. Wywaliłem całkiem obiekty XData z kodu i wszystko ok. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.