27. juli 2002 - 11:19Der er
7 kommentarer og 1 løsning
Add-in's i egen Applikation
Hvordan får jeg implementeret at min egen applikation kan håndtere Add-in's, og hvordan laver jeg Add-ins der kan læses af min applikation. Grunden til at jeg spørger er at jeg skal lave en applikation der i bund og grund består af enkelte moduler. Er der eventuelt en anden måde at løse problemet på?
Du kan lave selvstændige applikaltioner og kalde dem fra hovedapplikationen med shell-kommandoen. Men hvis der skal overføres værdier skal de være skrevet til filer så.
Hvis det er active-X dll'er er der flere spørgsmål på eksperten, der besvarer det, brug søgefunktionen.
Mit problem er ikke at jeg ikke kan finde ud af at benytte dll'er - eller for den sags skyld at lave dem. Det jeg bare gerne vil frem til er at kunne lave en applikation, og så herefter blot installere plug-in's til den. Altså en måde at udvide sin applikation på. Benytter jeg mig at Active-Z dll'ere, skal jeg kende disse på forhånd - og samtidig kan jeg ikke få nye forms (Indbygget i dll) til at åbne i eksisterende MDIForm
Jeg er heller ikke hjemme i at konstruere og anvende komponenter, men formålet med at gøre det er, at kunne anvende disse i mere end ét program, - de skal altså være generelt anvendelige.
Hvis dit projekt er en applikation der sælges i et grundmodul, og at kunder efter behov kan anskaffe tillægsmoduler, kan du udmærket konstruere disse som selvstændige applikationer. De kontroller der i hovedmodulet giver adgang, må naturligvis kun kunne aktiveres når tillægsprogrammet er installeret og - installeret det sted som angives i en sti-henvisning. Alternativt skal de installeres i samme mappe som hovedmodulet. Jeg har et par programmer, der kan samarbejde om datafiler og jeg håndterer det ved at der undersøges for tilstedeværelsen af 'tillæg.exe'. Når dette er udført én gang skrives det ind i en ini-fil (eller registry) og fremover er testen ikke påkrævet.
Dll'er og ocx'er leder et VB program jo altid efter i \windows\system - \windows og app.path, så dér er angivelse af stier ikke påkrævet.
Måske skulle du forsøge at beskrive nærmere hvad det hele går ud på. For at få andre på banen kommer du nok til at oprette et nyt spørgsmål. Jeg går ikke op i point og vil du spare dem kan du svare selv og afvise mit svar, som jo ikke giver en præcis løsning på et løst formuleret problem.
Jeg sidder med samme udfordring som dig. Har valgt at gøre det lidt i stil med Joerns forslag, dvs. lave modulerne som selvstændige, eksekverbare programmer, jeg så registrerer i mit "hovedprograms" inifil. Ud over det har jeg: * renamet modulerne, så deres extension ser ud til at have et specielt tilhørsforhold til mit hovedprogram. * lavet modulerne, så de skal have en speciel (hardkodet) streng fra hovedprogrammet for at kunne starte op. Derved forhindrer jeg, at modulerne køres uden om mit hovedprogram. * hvert modul har et unikt ID, som jeg checker op mod en versionsdatabase, så launcheren til mit hovedprogram automatisk kan opdatere modulerne.
Oh, i øvrigt... Al kommunikation mellem hovedprogram og moduler, samt modul <-> modul kommunikation foregår vha. en database, hvor jeg også holder program- og brugerdata samt en masse anden information.
Programmets .INI fil er skrevet som en binær fil, så "pilfingre" ikke skal rode for meget! ;-)
wiehl.... nu lukker jeg altså dette spørgsmål.... Sorry
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.