CADsite

  • zo 09 08 2020, 08:04:11
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1]   Omlaag

Auteur Topic: Functie Bibliotheek VB.net (opgelost)  (gelezen 6182 keer)

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Functie Bibliotheek VB.net (opgelost)
« Gepost op: ma 13 05 2013, 10:28:17 »

Iemand een goed startpunt voor mij om een "Functie Bibliotheek" te maken wat ik kan gebruiken in verschillende projecten.
Ik wil dus functies maken zoals:
- GetEnt()
- GetSSet()
- GetPoint()
- ChangeText
- enz.

Ik nu verschillende app's gemaakt, en kan deze uitvoeren in Acad, maar ik merk dat ik vaak een functie van het ene project copieer en in de andere plak.

Maar hoe maak ik een bibliotheek maken van deze functies, hoe begin ik?
En wat ook heel belangrijk is, is hoe deze dan weer aanroepen.
Ik ben bekend met VB.net, maar als je een C#.net voorbeeld hebt mag dat ook.
Als ik deze link dan gebruik voor het vertalen naar VB.net kom ik daar wel uit, maar het is dan wel handig om de bron te zien:
http://www.developerfusion.com/tools/convert/csharp-to-vb/
« Laatst bewerkt op: di 14 05 2013, 11:18:44 door EddyBeerke »
Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Functie Bibliotheek VB.net
« Reactie #1 Gepost op: ma 13 05 2013, 12:34:03 »

Ik zou al je functies in eenzelfde assembly (DLL) zetten, die je ergens centraal plaatst (vast lokaal path, netwerk?)

Deze assembly kan je vervolgens automatisch inladen in AutoCAD via:
- Registry aanpassing
- Netload aanroep in acad.lsp (nog andere lsp opstartbestanden ter beschikking)

Op die manier heb je één bron van waarheid, die je beschikbaar hebt in alle tekeningen die je maar opent.

Als tip zou ik je tevens nog meegeven dat je eenvoudig VB.NET en C# kan mixen in dezelfde Visual Studio solution, 2 projecten (eentje voor elk)
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Functie Bibliotheek VB.net
« Reactie #2 Gepost op: ma 13 05 2013, 13:06:30 »

Ik zou al je functies in eenzelfde assembly (DLL) zetten, die je ergens centraal plaatst (vast lokaal path, netwerk?)

Deze assembly kan je vervolgens automatisch inladen in AutoCAD via:
- Registry aanpassing
- Netload aanroep in acad.lsp (nog andere lsp opstartbestanden ter beschikking)

Op die manier heb je één bron van waarheid, die je beschikbaar hebt in alle tekeningen die je maar opent...
Bedankt voor je antwoord.

Ik begrijp wat je bedoeld maar ik wil de functies die ik heb gemaakt (dus niet de acad commando's) in een dll zetten en die aanroepen in een ander "vb.net project".
Eigenlijk net zoals je dat doet met de AcMgd.dll, AcCoreMdg.dll en AcDbMgd.ldd
Daar zitten dus functies in die je gebruikt bij het programmeren.
Ik wil dus net z'n library maken en gebruiken in mijn projecten.

Na wat knutselen ben ik er dus nu net achter hoe dat ik z'n bibliotheek maak en gebruik, maar ik wil niet dat anderen daar gebruik van kunnen maken ->> dus "Copy Local" op "False". Maar dit werkt dus niet.
Hierdoor moet ik mijn functies dus als copy mee geven en dat wil ik dus niet.
Is daar een oplossing voor?
Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Functie Bibliotheek VB.net
« Reactie #3 Gepost op: ma 13 05 2013, 13:17:31 »

Je gaat die bibliotheek DLL toch altijd ergens moeten ter beschikking stellen
Je maakt dus een reference naar die DLL in Visual Studio ...

Wil je niet dat "anderen" die gebruiken, dan kan je je functies als private of protected definiëren, misschien?
Je hebt natuurlijk altijd nog public methods nodig om iets te kunnen aanroepen in je ander "vb.net project"

Misschien begrijp ik niet goed je perceptie van "ik wil niet dat anderen daar gebruik van kunnen maken"?
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Functie Bibliotheek VB.net
« Reactie #4 Gepost op: ma 13 05 2013, 17:03:32 »

Als ik nu een app maak dan geef ik alleen die dll-file.
Als ik nu met mijn functies.dll de functies gebruik die daar inzitten, dan moet ik twee bestanden geven.
Hoe doen ze dat dan bij Autodesk (met de AcMgd.dll, AcCoreMdg.dll en AcDbMgd.dll)?
Deze heeft toch niet iedereen op z'n pc staan?

Anders is het misschien toch handiger om de code te knippen en plakken.

Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Functie Bibliotheek VB.net
« Reactie #5 Gepost op: ma 13 05 2013, 20:41:09 »

Je hebt in je Visual Studio project/solution een referentie nodig naar de acad dlls, maar kijk eens lokaal waar je AutoCAD geinstalleerd is... bijvoorbeeld: C:\Program Files\Autodesk\AutoCAD 2012 - English.
Daar staan deze dlls ook.

Het is dus best mogelijk dat je voor een (software) architectuur kiest, waar je uiteindelijke maatsoftware bestaat uit verschillende dlls, eventuele config files, eventueel een aanpassing in registry of acad.lsp enzovoorts...

Je kan trouwens met Visual Studio een setup & deployment project toevoegen aan je solution, waar je het nodige aanvinkt om tot een uitgerwerkt installatieprogramma te komen.
Uiteraard kan je dit met andere software of met elke soort scripting.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Functie Bibliotheek VB.net
« Reactie #6 Gepost op: di 14 05 2013, 08:03:07 »

Oké, ik begrijp het.
Ik zal dus toch de functie.dll mee moeten geven of kopiëren en plakken.
Ik gebruik de referenties uit: C:\ObjectARX 2013\inc\
Vandaar dat ik dat dacht, ik heb dus niet verder gekeken.

Je kan trouwens met Visual Studio een setup & deployment project toevoegen aan je solution, waar je het nodige aanvinkt om tot een uitgerwerkt installatieprogramma te komen.
Uiteraard kan je dit met andere software of met elke soort scripting.
Nu gebruik ik "Visual Basic 2010 Express" kan dat daar ook mee?
Bij een zelfstandig programma (.exe) wat ik gemaakt heb lukte dat ook niet goed. Misschiem verkeerde instellingen gedaan.
Hoe doe je dat dan, want dan zou ik een installatie bestand willen maken waarbij dan beide bestanden in kunnen staan?
Gelogd

winnes

  • regelmatige poster
  • ***
  • Offline Offline
  • Berichten: 31
    • Bekijk profiel
Re: Functie Bibliotheek VB.net
« Reactie #7 Gepost op: di 14 05 2013, 09:36:48 »


Visual Studio Express heeft inderdaad bij mijn weten geen Setup & Deployment Project Type.
Wat wel ter beschikking is in deze editie is de "ClickOnce Deployment".

Als je wat batch scripting kent kan je ook voor eenvoudige copy opdrachten en dergelijke wel iets proper in elkaar steken.

Anders moet je misschien je heil zoeken bij InstallShield en andere; bijvoorbeeld InnoSetup (http://www.jrsoftware.org/) is zelfs een gratis alternatief.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2391
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Functie Bibliotheek VB.net
« Reactie #8 Gepost op: di 14 05 2013, 11:18:13 »

Anders moet je misschien je heil zoeken bij InstallShield en andere; bijvoorbeeld InnoSetup (http://www.jrsoftware.org/) is zelfs een gratis alternatief.

Hier was ik naar opzoek! Heel erg bedankt.  :vreegoe:
Gelogd
Pagina's: [1]   Omhoog