gregi08

Użytkownik forum
  • Postów

    3
  • Dołączył

  • Ostatnia wizyta

Ostatnie wizyty

406 wyświetleń profilu

Osiągnięcia gregi08

Początkujący

Początkujący (1/6)

1

Reputacja

  1. Dziękuję za odpowiedzi. VS 2012 zapewne niezbędny jest do kompilowania projektów napisanych w C++ - zgodność binarna z ZwCAD'em 2017, który jest kompilowany z wykorzystaniem MSVS 11.0. W sprawie .NET: - biblioteki ZwManaged oraz ZwDatabaseMgd korzystają z 4.0; nakładki mogą być targetowane pod 4.5 - biblioteka kompiluje się poprawnie, po załadowaniu ZwCAD widzi polecenia i stara się je wykonywać, - przeanalizowałem przykłady, które Pan zamieścił; poza prostotą mają jedną cechę wspólną - brak implementacji interfejsu IExtensionApplication, służącego do zapewnienia logiki ładowania [metoda Initialize()] i rozładowywania [Terminate()] biblioteki. Przykłady: Public Class HelloWorld <CommandMethod("HelloWorld")> Public Sub HelloWorld() Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("Hello World") End Sub End Class Public Class HelloWorldPlugin : Implements IExtensionApplication Public Sub Initialize() Implements IExtensionApplication.Initialize Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("Inicjalizacja biblioteki") End Sub Public Sub Terminate() Implements IExtensionApplication.Terminate End Sub End Class Wstawienie punktu przerwania w implementacji metody Initialize() powoduje błąd o którym pisałem w pierwszym poście, a co za tym idzie brak możliwości "podejrzenia" działania aplikacji. Oczywiście, można kombinować i w celu testów przenieść zawartość inicjalizacji do innej funkcji, ale: - konkurencja potrafi zrobić to porządnie, na etapie ZwCAD 2015 ZwSoft również, - błąd debugowania zdarza się również w trakcie wywoływania poleceń, w różnych, losowych przypadkach; proszę sobie wyobrazić typową dla mnie sytuację, gdy jestem w trakcie poszukiwania przyczyny niepoprawnego działania funkcji w ZwCAD 2017 (na papierze wszystko jest pięknie - w bibliotekach .NET ZwSoft zamieścił referencje do wszystkich potrzebnych mi funkcji, jednak ich implementacja nie jest całkowita) śledząc jej działanie linia po linii aż tu nagle, zbliżając się do potencjalnego miejsca wystąpienia rozbieżności pomiędzy ZW2017 a resztą świata operacja zostaje przerwana przedmiotowym komunikatem. Wtedy muszę przerwać debugowanie, zmodyfikować kod zapisując do pliku lub wyrzucając do konsoli stan aplikacji, skompilować, uruchomić ponownie ZwCADa, załadować, wywołać funkcję, określić różnice, wrócić do początku - rozumiem, że ZwSoft nie uważał za opłacalne opracowanie interpretera AutoLispa (podobnie uczynili inni gracze poza prymusem), ale debugowanie aplikacji .NET metodami jak za czasów Lispa? - wiem, że Państwo - administratorzy forum.cad.info.pl, firma Szansa nie jesteście właścicielami/decydentami ZwSoftu, ale kurczę, ... eh, dobra, proszę tylko o popchnięcie do Chin sprawy debugowania,
  2. Cześć! Pragnę dowiedzieć się, czy pozostali użytkownicy forum programujący z wykorzystaniem języków .NET (C#, VB.NET) są w stanie debugować swoje aplikacje pod ZwCAD2017? Próbowałem zarówno w dwóch wersjach Visual Studio: 2015 oraz 2017. W obu przypadkach próba debugowania aplikacji w celu wychwycenia wewnętrznych niespójności w ZwCAD2017 kończy się zanim właściwie się zaczyna - komunikatem o wkroczeniu aplikacji w punkt debugowania, do którego kodu źródłowego nie ma dostępu (sugeruje to pozostawione break-pointy w zasadniczym kodzie ZwCAD2017). Oryginalny komunikat: The application is in break mode Your app has entered a break state, but no code is currently executing that is supported by the selected debug engine (e.g. only native runtime code is executing). Porady ogólne (nie związane z ZwCADem) znalezione w odmętach internetu dotyczące zmiany ustawień VS nie dają rezultatu, stąd pytanie do użytkowników forum - czy jesteście w stanie debugować swoje aplikacje pod ZwCAD2017?
  3. Dzień dobry, Piszę jako programista .NET, który pragnie wprowadzić nowy produkt współpracujący z ZwCAD. .NETowe API jest w bardzo znacznym stopniu zgodne z innymi platformami (AutoCAD, BricsCAD) co ułatwia pracę, ale brakuje jednej, bardzo istotnej w moim przekonaniu klasy: Overrule, która jest substytutem własnych obiektów dostępnych z poziomu ObjectARX w AutoCADzie. Dzięki niej możliwe jest zastąpienie standardowego wyglądu CADowych entycji (np. linia może być wyświetlana jako zbiór obiektów). Czy w wersji 2016 planowane jest wprowadzenie klasy Overrule? Pozdrawiam