Praktikum Informatik für Ingenieure 3, Tutorial

Diskussionen rund um Themen und Veranstaltungen des 4. Bachelor-Semesters

Moderator: (M) Mod.-Team Allgemein

Chuck Norris
TalkING. Fan
TalkING. Fan
Beiträge: 61
Registriert: Do, 20. Dez. 07, 12:38

Praktikum Informatik für Ingenieure 3, Tutorial

Beitrag von Chuck Norris » Mi, 06. Mai. 09, 14:16

Hallo,
ich wollte etwas zum Praktikum anmerken, da im Stud-IP kein Forum für InfIng3 existiert, dieser Weg:

Ich bin am Anfang auf 3 Probleme gestoßen. Ich kompiliere in Linux:
1. Dem Tutorial liegen *.o-Dateien bei. Dies sind keine Quelldateien, sie müssen vor dem make-Aufruf gelöscht werden (rm *.o)

2. in netutils.c ist ein Problem:

Code: Alles auswählen

   addr = *((unsigned long *) host->h_addr);
muss heissen

Code: Alles auswählen

 addr = *((unsigned long *) host->h_addr_list[0]);
3. in netutils.h könnte auch ein Problem sein:
es muss

Code: Alles auswählen

 #include < sys/types.h &#123;größer als zeichen, das echte verhunzt die Codedarstellung&#125;
ergänzt werden (ob das auch ohne funzt, weiss ich nicht).

Ich hoffe, dass es dadurch weniger Startschwierigkeiten gibt.
Vielen Dank an die Kommilitonen(Andre, Mirko), die mir die Fehler und Lösungen nannten, ich hab die hier nur zusammengefasst.

Viele Grüße
Stefan[/code]

B.Hauck
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 9
Registriert: Fr, 20. Mär. 09, 09:12
Kontaktdaten:

Beitrag von B.Hauck » Mi, 06. Mai. 09, 14:42

Dieses Problem ist bereits behoben.

Bitte verwendet die netutils- und logging-Dateien, die ihr mit der Aufgabenstellung findet; dort ist dies bereits geändert.

Im Tutorial liegen vermutlich noch alte Versionen.

Beste Grüße,
Bernd Hauck

Chuck Norris
TalkING. Fan
TalkING. Fan
Beiträge: 61
Registriert: Do, 20. Dez. 07, 12:38

2. Aufgabe

Beitrag von Chuck Norris » Di, 26. Mai. 09, 00:27

Hallo!

Ich habe mit der 2. Aufgabe des Praktikums begonnen, und festgestellt, dass sich in Linux das aufgerufene Programm nicht richtig verhält (man kann nichts klicken). Hat jmd. ne Ahnung, woran das liegen könnte? In Windows werden alle Fensterchen richtig angezeigt.
Habe Ubuntu 9, und soweit ich weiss aktuelle pakete.

Nebenbei kann ich dann ja noch was 2. fragen:
Ich lese mich gerade bei RMI ein, und da ist von einer RMI-URL die Rede. Ist das die IP-Adresse und /oder Port, ähnlich wie bei der 1. Aufgabe?

Viele Grüße
Stefan

B.Hauck
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 9
Registriert: Fr, 20. Mär. 09, 09:12
Kontaktdaten:

Beitrag von B.Hauck » Di, 26. Mai. 09, 09:09

Moin moin,

das Ubuntu-Problem kann ich von hier aus nicht nachvollziehen. Benutzt du das JDK von Sun? Wenn das Problem weiterhin besteht, melde dich bitte mal direkt bei uns, dann können wir uns das gemeinsam anschauen.

Eine RMI-URL ist nichts anderes als eine URL, welche als Protokoll rmi benutzt.

Beste Grüße,
Bernd Hauck

Sven Köhler
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 2
Registriert: Do, 26. Feb. 09, 11:45

Beitrag von Sven Köhler » Di, 26. Mai. 09, 11:53

Unter Ubuntu lässt sich Sun's JDK über das Paket "sun-java6-jdk" installieren. Ich weiss allerdings nicht wie reibungslos das klappt, wenn bereits gcj oder/und openjdk installiert sind.

Nach der Installation von Sun's JDK muss man aber immernoch sicherstellen, dass auch wirklich das Sun JDK (und nicht immernoch gcj oder openjdk) von den Programmen verwendet wird.

Chuck Norris
TalkING. Fan
TalkING. Fan
Beiträge: 61
Registriert: Do, 20. Dez. 07, 12:38

In Ubuntu braucht man die SUN-JRE

Beitrag von Chuck Norris » Mi, 27. Mai. 09, 01:00

Hi, mit der richtigen JRE klappt es, hab es über Synaptic einfach installiert, und in Eclipse hinzugefügt. Alles ohne größere Schwierigkeiten.
Nochmals vielen Dank für die Hilfe!
Gute Nacht!
Stefan

HeGGy
TalkING. Newbie
TalkING. Newbie
Beiträge: 25
Registriert: Di, 26. Jun. 07, 17:35
Wohnort: Harburg

editPhoneBookEntry

Beitrag von HeGGy » Fr, 29. Mai. 09, 15:43

hi!

Es gibt eine methode "public void editPhoneBookEntry(PhoneBookEntryInterface entry)". diese wird von der ui aufgerufen, wenn der user eine eintragsänderung bestätigt hat. (vorher hat der user eine suche veranlasst und in der resultierenden liste den zu ändernden eintrag ausgewählt.) mein problem ist nun, dass ich dachte, dass die ui den ursprünglichen eintrag und den geänderten eintrag ausspuckt. leider wird die obige funktion nur mit einem "eintrag" gefüttert! wie soll man denn nun wissen welcher eintrag geändert werden soll? der muss ja theoretisch keine ähnlichkeit mehr mit dem ursprünglichen haben!
woher weiß ich welchen der als liste empfangenen eintrage ich ändern muss, wenn obige funktion aufgerufen wird?

gruß henning

H.Klimek
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 4
Registriert: Fr, 29. Mai. 09, 17:40
Kontaktdaten:

Re: editPhoneBookEntry

Beitrag von H.Klimek » Fr, 29. Mai. 09, 17:59

HeGGy hat geschrieben:mein problem ist nun, dass ich dachte, dass die ui den ursprünglichen eintrag und den geänderten eintrag ausspuckt. leider wird die obige funktion nur mit einem "eintrag" gefüttert! wie soll man denn nun wissen welcher eintrag geändert werden soll? der muss ja theoretisch keine ähnlichkeit mehr mit dem ursprünglichen haben!
woher weiß ich welchen der als liste empfangenen eintrage ich ändern muss, wenn obige funktion aufgerufen wird
Hi Henning,

Du bekommst das selbe Objekt zurück, welches in die UI reingefüttert wird. Selbst wenn du alle Felder des Objekt verändert hättest, würdest Du mit dem == Vergleich immer noch Objekte in einer Liste vergleichen können.

Eine andere Möglichkeit könnte ausnutzen das ihr ein Interface gegeben habt. Die UI arbeitet auf dem Interface und ist nicht in der Lage andere Felder zu verändern. (Diese werden in der UI ja auch nicht angezeigt).

Eine dritte Möglichkeit bestünde im Überschreiben der prepareEditEntry Methode. Die *-prepare Methoden werden aufgerufen bevor die UI Aufgerufen wird.

Als letzte Möglichkeit bestünde auch die Möglichkeit das Framework zu verändern. Die Sourcen habt ihr ja. - Dann wäre es allerdings schön, wenn ihr diesen Schritt begründen könntet.

Welche Möglichkeit für Euch am praktikabelsten ist, hängt aber davon ab, wie Ihr Eure RMI-Anwendung aufbaut.

Viele Grüße
Helge

Chuck Norris
TalkING. Fan
TalkING. Fan
Beiträge: 61
Registriert: Do, 20. Dez. 07, 12:38

PhoneBookEntryComparator

Beitrag von Chuck Norris » Di, 09. Jun. 09, 09:13

Hi,
ist in dieser Datei viellt. ein Fehler in Zeile 50?

Code: Alles auswählen

if &#40;o1.getPhoneNo&#40;&#41; < &#40;&#40;o2&#41;.getPhoneNo&#40;&#41;&#41;&#41; &#123;
				return -1;
			&#125; else if &#40;o1.getPhoneNo&#40;&#41; > &#40;&#40;o2&#41;.getPhoneNo&#40;&#41;&#41;&#41; &#123;
				return 1;
			&#125;
statt

Code: Alles auswählen

if &#40;o1.getPhoneNo&#40;&#41; < &#40;&#40;o2&#41;.getPhoneNo&#40;&#41;&#41;&#41; &#123;
				return -1;
			&#125; else if &#40;o1.getHouseNumber&#40;&#41; >&#40;&#40;o2&#41;.getHouseNumber&#40;&#41;&#41;&#41; &#123;
				return 1;
			&#125;
Viele Grße Stefan

H.Klimek
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 4
Registriert: Fr, 29. Mai. 09, 17:40
Kontaktdaten:

Re: PhoneBookEntryComparator

Beitrag von H.Klimek » Di, 09. Jun. 09, 09:31

Chuck Norris hat geschrieben:Hi,
ist in dieser Datei viellt. ein Fehler in Zeile 50?
Aua, erwischt,... Danke für den Hinweis. Du hast natürlich recht, das ist so ein Fall von impatient duplication.

Viele Grüße,
Helge

Antworten