gregi08

Użytkownik forum
  • Postów

    3
  • Dołączył

  • Ostatnia wizyta

Aktywność reputacji

  1. Upvote
    gregi08 otrzymał(a) reputację od JasW w Debugowanie aplikacji .NET   
    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,