Avatar billede cautoo Nybegynder
01. januar 2008 - 23:53 Der er 3 kommentarer og
1 løsning

Eksterne klasser

Hej

Jeg er ved at lave et program, hvor jeg gerne vil kunne lave udvidelser som implementeres i mit javaprogram, uden at ligge det ind i selve programmet.
Jeg har tidligere gjort det med c++ og dll filer, hvor programmet havde en klasse som dll filerne nedarvede efter, ligeså havde dll filerne en klasse, som var nedarvet efter hovedprogrammet, for at skabe en tovejs kommunikation mellem objekter i selve java programmet og et evt. java tillægsmodul.
Nogen der kan hjælpe mig igang med det?

Her er således jeg forestiller mig:
Jeg har mit hovedprogram (evt. en jar fil):
Sti: #program#/program.jar
class: ModulKommunicator
(indlæser moduler ved at sende sig selv ind i en funktion (evt. konstructoren). Det ved det hvordan det kan gøre, da modulet nedarver en kendt klasse evt. class: ModulStandard
Modulet:
Sti: #program#/moduler/mitmodul.jar (jar eller hvad der er muligt)
class MitModul extends ModulStandard
Modtager en pointer til ModulKommunicator som den kender nogle public funktioner på.

Nogen der kan hjælpe med om det kan lade sig gøre i Java?

På forhånd tak for hjælpen
Avatar billede arne_v Ekspert
02. januar 2008 - 00:08 #1
Noget som dette er set rigtigt mange gange:

ModulStandard m = (ModulStandard)Class.forName("minpakke.MinKlasse").newInstance();
m.setApp(this);
Avatar billede arne_v Ekspert
02. januar 2008 - 00:13 #2
2 noter:

1)  det er ogsaa muligt at sende argument over til constructor men det bliver lidt mere tricky

2)  hvis modul jar filen ikke er i app classpath, saa skal der bruges en ny classloader
Avatar billede arne_v Ekspert
27. januar 2008 - 05:35 #3
OK ?
Avatar billede cautoo Nybegynder
14. februar 2008 - 10:46 #4
Ja.. tak for hjælpen..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester