Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Unterschiedliche Netzwerkhintergründe gleichzeitig möglich?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Unterschiedliche Netzwerkhintergründe gleichzeitig möglich? (1277 mal gelesen)
GUSS
Mitglied
none


Sehen Sie sich das Profil von GUSS an!   Senden Sie eine Private Message an GUSS  Schreiben Sie einen Gästebucheintrag für GUSS

Beiträge: 29
Registriert: 29.06.2006

eMPlant 7.0.2

erstellt am: 29. Jun. 2006 18:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ein Hallo an alle anderen Anwender,

ich habe folgendes Problem und würde mich über eine (oder mehrere) Hinweise zur Lösung bedanken.

Es geht darum, dass ich einzelnen Instanzen in eMPlant 7.0 unterschiedliche Netzwerkhintergründe im Format von z.B. .bmp zuweisen möchte.
Ich bin momentan auf dem Status, dass ich einer Netzwerkinstanz ein Hintergrund per SimTalk zuweisen kann.
Wenn ich dies getan habe, erlebe ich jedoch den (für mich) zunächst paradoxen Effekt, dass sofort alle anderen Instanzen der übergeordneten Klasse ALS AUCH die Klasse selbst nun dieses Bild als Hintergrund des Netzwerkes besitzt. Ich möchte aber diskret nur dieser eine Instanz den jeweiligen Hintergrund zuweisen.

Daher zunächst prinzipiell meine Frage:
1) Kann man unterschiedlichen Netzwerkinstanzen ein und derselben Klasse unterschiedliche Netzwerkhintergründe per SimTalk zuweisen?
2) Wie kann es sein, dass, wenn ich der Instanz ein Hintergrundbild zuweise, es ebenfalls in der Klasse angezeigt wird?
3) Wenn man sich meinen nachfolgenden Quelltext anschaut, sieht man meine verwendeten Funktionen, mit den ich den Hintergrund ändere, wie sie an anderer Stelle in diesem Forum schon beschrieben worden sind; Allerdings beziehen die sich laut eMPLant Hilfe ja eigentlich nur auf das Icon!? Wieso ändert sich dann der Hintergrund? Ich bin zwar froh das er das tut, aber ... ?!

Wenn Ihr die Sache angehen wollt, dann hier mein "kritischer" SimTalk, der diese Aufgabe für mich löst. Wahrscheinlich ist es ja mein Fehler.

<NetzwerkObjekt>.erzeugeBild("hintergrund",40,40);/*Erzeuge generell ein Symbol mit dem Namen "Hintergrund" */
<NetzwerkObjekt>.setzeBildAusDatei("hintergrund",PfadzurDatei.bmp); /* Setze auf das eben erzeugte Symbol der Datei das richtige Bild */
<NetzwerkObjekt>.legeBildInZwischenablage(2); /* lege das Bild mit der Nummer 2 in die Zwischenablage, das anschließend wieder Symbol sein soll (witzigerweise wird das Symbol nämlich in der vorangegangenen Zeile auch geändert!!!) */
<NetzwerkObjekt>.setzeBildAusZwischenablage(2); /*Setze das Symbol des Netzwerkes mit dem neuen Hintergrund wieder zurück auf das ursprüngliche Symbol (kleiner Kunstkniff weil ich noch keine andere Lösung gefunden habe, um das Symbol für das Symbol wieder zurückzuholen) */

So, ich bin mal gespannt ob ihr meinem Beitrag etwas entnehmen könnt oder ob er unkommentiert bleibt.

Viele Grüße,
GUSS

------------------
Dankeschön!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 29. Jun. 2006 19:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat


symbole1.JPG

 
versuchs mal so

------------------
Der Simulator

Homer Simpson
Mitglied



Sehen Sie sich das Profil von Homer Simpson an!   Senden Sie eine Private Message an Homer Simpson  Schreiben Sie einen Gästebucheintrag für Homer Simpson

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 30. Jun. 2006 08:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GUSS 10 Unities + Antwort hilfreich

Hallo,

die Bilder von Objekten sind eine Klasseneigenschaft. Wenn man also ein Bild ändert oder hinzufügt, dann wirkt sich das auf alle Instanzen aus, die direkt oder indirekt von dieser Klasse erben.

Leider ist es nicht möglich, ein bestimmtes Bild als Hintergrundbild zu verwenden, sondern es wird immer das Bild mit dem Namen "Hintergrund" angezeigt, sofern es vorhanden ist. Und da man es nur in einer Klasse anlegen kann, haben also alle Instanzen das gleiche Hintergrundbild wie die Klasse.

Ich sehe nur 2 Möglichkeiten, das Problem zu umgehen. Entweder setzt man ein zusätzliches Objekt in das Netzwerk ein (am bestes als allererstes Objekt, damit es als unterstes gezeichnet wird) und schaltet dort das aktuelle Symbol auf das anzuzeigende "Hintergrundbild". Das eigentliche Netzwerk hat also gar kein Hintergrundbild, sondern das eingesetzte Netzwerk ist ein Fake-Hintergrund. Außerdem würde ich dann bei dem Fake-Hintergrund-Netzwerk eine leere Methode als Markieren- und Öffnen-Steuerung eintragen, damit man es nicht versehentlich auswählt oder öffnet.

Oder aber man erzeugt pro Netzwerk, das ein anderes Hintergrundbild anzeigen soll, eine neue Klasse. Falls man bereits eine Klasse hat, die man mehrfach eingesetzen möchte, kann man diese Klasse auch so oft ableiten, wie man sie einsetzen möchte. Man setzt dann jede abgeleitete Klasse genau 1x ein.

Beide Lösungen sind nicht optimal.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GUSS
Mitglied
none


Sehen Sie sich das Profil von GUSS an!   Senden Sie eine Private Message an GUSS  Schreiben Sie einen Gästebucheintrag für GUSS

Beiträge: 29
Registriert: 29.06.2006

eMPlant 7.0.2

erstellt am: 28. Aug. 2006 15:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Danke für die Hinweise. Ich habe es so wie "Homer" empfohlen hat gemacht.

D. h. ich habe eine extra Netzwerkklasse angelegt. Dieser Klasse kann ich alle Symbole zuweisen. Die Instanzen der Klasse füge ich in jedes zu erzeugende Netzwerk automatisch als erstes Objekt ein mit einem Ersatzhintergrund "weissesbmp". Die Verwaltung erledige ich über eine zusätzliche Tabelle. So kann ich jedem Netzwerk später durch die darinliegende andere Netzwerkinstanz ein entsprechendes Bild, das eigentlich ja ein Symbol ist, zuweisen. Geht wunderbar.

Damit nichts verwackelt und verrutscht, habe ich wie empfohlen für dieses Netzwerk eine leere Methode für alle erdenklichen Funktionen eingetragen. Alles schon dokumentiert, da kann sich im Nachgang keiner  beschweren.

Danke nochmal für den Hinweis!

MfG
GUSS aus Chemnitz / Sa. 

------------------
Dankeschön!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz