tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
274
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von bled
    bled bled ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Ort
    B-W
    Beiträge
    246
    Hallo,

    ich wüsste gerne, ob es irgendwie möglich ist, die Referenz eines Objekts zu bekommen, das bereits erzeugt wurde. Gibt es sowas wie eine Liste oder einen Array - mit allen in der aktuellen JVM existierenden Objekten - auf die man zugreifen kann?
    Ich möchte von außen eine Methode eines "wo anders" erzeugten Objektes aufrufen. Da dieses Objekt nicht von mir erzeugt wurde, hab ich keine Referenz.
    Ich hab mir die Reflecation API angesehen und versucht das so irgendwie hinzubekommen. Allerdings müsste ich da ja eine neue Instanz der Klasse schaffen, damit hätte ich nicht das Objekt, dessen Methode ich eigentlich aufrufen möchte.
    Was im Prinzip auch gehen würde, wäre das externe Programm aus meiner Klasse heraus zu starten (über die Reflection API). Allerdings würde ich dann nicht direkt selbst das Objekt erzeugen, von welchem ich die Referenz zum Aufruf der gewünschten Methode brauche. Also wüsste ich auch hier nicht, wie ich weiterkommen könnte.

    Ich hoffe, dass das nicht zu wirr ist und man versteht was mein Problem ist. Falls es komplett unklar ist werde ich versuchen es nochmal zu beschreiben. Ich hoffe, dass mir jemand helfen kann. Danke schonmal!
     

  2. #2
    Adrian_Broher Adrian_Broher ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    166
    Zitat Zitat von bled Beitrag anzeigen
    Ich möchte von außen eine Methode eines "wo anders" erzeugten Objektes aufrufen.
    Definiere bitte "wo anders". Gleiche JVM Instanz, aber keine direkte Referenz verfügbar. Andere JVM Instanz, anderer Heap, etcpp.

    Zitat Zitat von bled Beitrag anzeigen
    Was im Prinzip auch gehen würde, wäre das externe Programm aus meiner Klasse heraus zu starten (über die Reflection API).
    Welches externe Programm?
     
    I'm not slacking off!

    My code's just compiling.

  3. #3
    Avatar von bled
    bled bled ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Ort
    B-W
    Beiträge
    246
    Es handelt sich um die gleiche JVM Instanz.
    Das Programm ist ein P2P-Netz Simulator. Ich schreibe die Peers für diesen Simulator. Ein kleines Beispiel:
    Ich starte den Simulator mit 100 von meinen Peers. Bei der Erzeugung des ersten Peers wird eine GUI geladen, über die ich verschiedene Eigenschaften aller 100 Peers (über Klassenvariablen) variieren kann. Über diese GUI würde ich gerne auch den Simulator steuern (der selbst auch aus einer GUI besteht). Ich möchte schlicht und einfach die run() Methode des Simulators aus meiner GUI heraus aufrufen können. Dadurch spare ich mir des Wechseln zwischen den GUIs, außerdem könnte ich so auch Simulationen mit verschiedenen Peer Parametern automatisieren.

    P.S.: Den Sourcecode des Simulators habe ich nicht. Es ist also nicht möglich, den Simulator zu automatisieren. Das wäre wohl höchstens durch Reverse Engineering oder irgendwelchen binären Patches möglich. Ich denke, dass meine Methode (sofern es geht) etwas schmerzfreier wäre.
     

  4. #4
    Avatar von Oliver Gierke
    Oliver Gierke Oliver Gierke ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Mannheim
    Beiträge
    1.457
    Wie wärs mit einem vernünftigen Entwurf? Globale Variablen gibt es in Java zum Glück nicht. Vernünftige Schnittstelle entwerfen und per RMI miteinander Reden - fertig.

    Gruß
    OIlie
     
    In theory, there is no difference between theory and practice. In practice, there is!

    www.olivergierke.de

  5. #5
    Avatar von bled
    bled bled ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Ort
    B-W
    Beiträge
    246
    Am Entwurf des Simulators werde ich wohl wenig ändern können.
    Das Ganze ist eben nicht ganz so gedacht, wie ich es gerne hätte.
    Wenn das nämlich alles schöne und benutzbare Schnittstellen hätte, dann würde ich die mit Sicherheit auch benutzen und nicht irgendwelche Hacks verwenden wollen.
    Das Ganze benutze ich ja auch nur als Stütze für die Programmierung eines Peers (es soll die bestmögliche Strategie für Anfragen/Antworten/Weiterleiten gefunden werden). Das gehackte Zeug fliegt am Schluß natürlich wieder raus und dann sieht alles wieder so aus, wie es gedacht ist.
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 28.07.10, 18:17
  2. Drehpunkt eines objektes
    Von gp111 im Forum 3D Studio Max
    Antworten: 1
    Letzter Beitrag: 16.12.06, 22:18
  3. Winkelbeschrenkung eines Objektes
    Von Moritz M im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 05.10.06, 13:58
  4. Leuchtspur eines Objektes
    Von Firestriker im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 01.10.03, 17:20
  5. Antworten: 2
    Letzter Beitrag: 03.03.02, 17:45