quarta-feira, 11 de agosto de 2010

Cadê o NETUNLOAD ?

Ainda não consegui escrever um código próprio, apesar das idéias borbulharem na minha cabeça.
Por enquanto estou me atendo mais aos conceitos, estrutura envolvida e na integração do Visual Studio ao Autocad.

Uma coisa que vejo que é um verdadeiro tormento para os programadores, é o fato de não existir um NETUNLOAD ou algo parecido. Voltando um pouco a história.

Após escrevermos e compilarmos nossa DLL, precisaremos debugá-lo dentro do Autocad. Para carregarmos esta aplicação usamos o comando NETLOAD, acionamos o comando e até aqui tudo bonito.

O problema é que se continuarmos escrevendo o programa e dermos um Build Solution, ele simplesmente não sobrescreve a DLL, por estar presa ao Autocad. O que precisaríamos fazer é sair do CAD, construir e chamar novamente a DLL. Já deu pra ter idéia do tamanho da Pent#%$ação..!!

Outra maneira que está parecendo interessante é o uso do .NET Reflector, pela capacidade que ela dá de pular linha a linha no debug quando se usa bibliotecas externas.

Até o momento não encontrei uma solução satisfatória para facilitar o DEBUG das aplicações dentro do Autocad. Se alguém encontrar por favor me avise.


5 comentários:

  1. Eu também não achei o NETUNLOAD. Se procurar pelos foruns de discussão vai descobrir que não há maneira de descarregar a dll.

    Uma vez que tem o seu programa funcionando corretamente vai querer usar ele e chamar netload cada vez é um saco ( perda de tempo, achar diretótio correto, etc.). Uma maneira de contornar esse problema e carregar a dll automaticamente através do registro. Nos programas da Autodesk Labs, o plug-in of the month tem um código escrito que eles utilizam para registrar a dll e carregá-la automaticamente quando o AutoCAD inicia. Dê uma olhada no arquivo chamado "DemandLoad.cs" que é interessante.

    Melhor ainda é o código escrito por Tony Tanzillo arquivo chamado "ExtensionApplicationINfo.cs" o qual usa reflector para registrar e carregar automaticamente a dll.

    Quanto ao debug "edit and continue"?

    ResponderExcluir
  2. Olá Hanauer...

    Mais uma vez obrigado pelos seus comentários..!!
    Acho que o carregamento automático na inicialização do CAD é uma boa idéia...!!

    Eu procurei algumas informações sobre o Tony Tanzillo, mas o que achei foi muito superficial... Você pode me passar o local onde ele está postando os tutoriais e códigos..??

    Semana que vem vou iniciar o Módulo II do C# sobre aplicações e ligação a Banco de Dados... Vai ficar bem mais interessante...!!

    Grandes Abraços

    ResponderExcluir
  3. O Tony Tanzillo é um dos gurus que responde as perguntas do forum da Autodesk. Acho excelente as respostas dele pois ele não te dá a solução direta, ele te indica o caminho, fazendo a gente pensar. Ocasionalmente posta alguns links no forum. O nome utilizado por ele no forum da Autodesk é caddzone, o qual ajuda na procura por informações de maior qualidade. Há uns tempos atrás havia um comentário que lançaria um livro, o que até hoje não aconteceu.

    Descuple a maneira como estou colocando os links, mas como faço para inserir os endereços de páginas na internet como link ( de forma que é só clicar no link e a página é aberta)?

    http://forums.autodesk.com/t5/NET/Netload-help/td-p/2736243

    mais especificamente em:
    http://www.caddzone.com/ExtensionApplicationInfo.zip

    http://forums.autodesk.com/t5/NET/New-Sample-Application-Defined-System-Variables/m-p/2742537#M20287

    mais especificamnte em:
    http://www.caddzone.com/CustomSystemVariableExample.zip

    Neste últino está a versão correta com aqruivo de nome "ExtensionApplicationInfo.cs"

    No link a seguir tem alguns exemplos interessantes ( demandLoad, etc.) os quais vale a pena dar uma olhada:
    http://labs.autodesk.com/utilities/ADN_plugins/catalog/

    outro link ( está em russo, uso o google translate para ver o código):
    http://sites.google.com/site/bushmansnetlaboratory/home/managed-autocad/-net-laboratoria-autocad/mng

    No Autodesk University também tem bom material.

    Tenho uma aplicação quee cria links entre entidades e banco de dados para gerar legenda de ítens automáticamente e é baseada na biblioteca CAO, a qual estou passando para o .NET ( a original está escrita em VBA), através do uso de Interop. Estou tendo alguns problemas com dictionary os quais estou tentando solucionar. Vou esperar pelo seu post pois sempre tem como aprender algo novo, diferente.

    Para mim o maior problema é aprender a vasta API do AutoCAD e verticais para fazer o uso correto. Nem tudo está documentado, achava que o guia do AutoCAD .NET resolve grande parte dos problemas da documentação, mas isso não ocorreu e para mim de certa o guia deixou a desejar. Às vezes a solução já está pronta, mas deconhece-se ela, e os foruns ajudam muito.

    Faço votos que teu blog perdure pois é o único que conheço no Brasil, que trata especificamente do AutoCAD .NET.

    Obrigado

    ResponderExcluir
  4. Oi Hanauer..!!

    Esses dias estava comentando com minha esposa, que estou sentindo que meu BLOG ainda é uma garrafa com vários bilhetes boindo no meio de um oceano..!! Fico feliz que vc tenha encontrado meu BLOG e fico com mais energia de melhorá-lo com ajuda de seus comentários.

    Criei este BLOG porque estava justamente com os mesmos problemas que você está mencionando.. Tudo que achava estava muito vago e o Manual .NET da Autodesk deixava muito a desejar perto do VBA. Meu conhecimento ainda é bem limitado mas contribuirei com o que puder.

    Vamos em frente meu caro.. Pois ainda tem muita coisa pela frente...!!!

    [ teste de link ]

    Grandes Abraços,

    ResponderExcluir
  5. Amigo.. Eu consegui fazer um link clicável..

    Ve este link em : W3C - 12.1.1 Visiting a linked resource

    Olha como ele escreve o link para chapter2.html

    Abraços,

    ResponderExcluir