# CORBA Klassen werden nicht erkannt.



## Guest (31. Jan 2006)

Hi Leute, ich erstelle mittels einer IDL sämtliche Wrapperklasse eines Programmes, welche ich nun mit meinem Programm benutzen soll.

Mein Programm befindet sich im Package "Programm". Das importierte nennt sich "Package"
Eigendlich sollte dieses "Package" ja mit import Programm.Package.*; importiert werden können, so dass ich dann direkt auf alle Klassen, und deren Methoden zugreiffen kann.

Dem ist allerdings nicht so, weshalb? :S :autsch:


----------



## dR.LoL (31. Jan 2006)

[Wurde von mir, nur nicht eingeloggt, erstellt]


----------



## Bleiglanz (31. Jan 2006)

schreib package namen klein

der import ist "global", du musst wissen in welchem Package die erstellten Stubs liegen

es heisst dann

import package.*;

dass deine eigenen Klassen im Package "programm" liegen spielt für den import keine Rolle

und: VERWENDE EINEN ANDEREN NAMEN! "package" als Name für ein Package ist abartig


----------



## dR.LoL (31. Jan 2006)

Wegen der Gross-Klein Schreibweise, ist es VERBOTEN so zu schreiben oder sollte man es einfach nicht?
Weil das Packet das ich benutze heisst blaPackage, welches ich nicht geschrieben hab.

Ja hab ich aber... Ich importe Sie ja eigendlich genau so...
import packagename.*;
import packagename.blaPackage.*;

alle Files liegen im Ordner(Package) blaPackage. in Jedem dieser Files schreibe ich...
import packagename.*;
import packagename.blaPackage.*;
...rein, doch jedesmal wenn ich blaPackage.funktion aufrufe, wird blaPackage rot markiert (Fehler)

Danke und Gruss


----------



## Bleiglanz (31. Jan 2006)

```
import packagename.*;
import packagename.blaPackage.*;
```
was ist der Zusammenhang zwischen

packagename

und

blaPackage

lern erstmal die Basics, das steht doch nun wirklich in jedem Buch, oder schau in die FAQ hier im forum


----------



## dR.LoL (31. Jan 2006)

Der Zusammenhang ist, dass das erste Package (Packagename) das Hauptpacket ist, welches das zweite Package (blaPackage) beinhaltet.

blaPackage wird selbst dann im Packagename erstellt.

package Packagename.blaPackage;
//Jetzt sind in dem blaPackage Klassen enthalten, die ich benutzen will, also muss ich doch import machen?!
import Packagename.*;
import Packagename.blaPackage.*;
//Jetzt sollte ich doch das foobar objekt erstellen können, aus der Klasse1, welche in blaPackage drin ist. Oder?
Klasse1 foobar = new Klasse1();

Falls das nicht geht, könntest du mir sagen wie ich das so machen kann? Damit ich nicht immer...
Packagename.blaPackage.Klasse1 foobar = new Packagename.blaPackage.Klasse1();
...machen muss?!?!?!

Danke, Bon Appetit!


----------



## Bleiglanz (31. Jan 2006)

Wenn die erste Zeile einer .java Datei

```
package Packagename.blaPackage;
```
lautet, dann

1) ist ein Dödel am Werk, der nicht weiss, dass man das kleinschreibt

2) ist die Datei zwingend in einem Ordner "blaPackage" und dieser Ordner wiederum ist in einem Ordner "Packagename", typischerweise also

src/Packagename/blaPackage

3) braucht in dieser datei das blaPackage nicht importiert zu werden, weil ja selbst dazugehörend!


----------



## dR.LoL (31. Jan 2006)

1. Sehr korrekt!
2. Ist es ja!
3. aXo! Okay, begriffen... 

Doch wenn ich diese IDL ausführe, bekomme ich die Wrapperklassen eben alle so instanziert. (blaPackage.Function1()) muss ich jetzt wirklich von Hand, all diese "blaPackage." entfernen gehen?
Wenn ja, übel übel übel ;-)


----------

