Probleme mit Executeable und ExecImage

Hallo zusammen,

ich habe ein kleines Problem mit Executeable bei einem ExecImage.
Ich habe ein ExecImage angelegt und in den Eigenschaften für
Picture und Executeable eine Bitmaske definiert, welche anhand einer
Variable das Bild und die Executeable-Befehl ändern soll.
Leider ändert sich beim Ändern der Variable nur das Bild und nicht der
Inhalt von Executeable.
Die richtige Zuordnung von Executeable wird nur beim start des
Designers tichtig geladen. Handelt es sich evtl. um einen Bug oder
habe ich einen Denkfehler.
Als Anhang mal meine Einstellungen als Bilder.
Weiss jemand Rat?

Gruss
Michael

Bild01.JPG

Bild02.JPG

Bild03.JPG

Hallo sanman,

aus Deinem Anhang schließe ich darauf, das Du mit der Änderung des Integer Wertes Pos1_Bild verschiedene Tabs anspringen willst, wenn Du auf das ExecImage drückst.

Wenn der ExecType auf etOpenPanel steht ist bei executable der Name des PageControls einzutragen und bei Parameters der Wert des Tabsheet.

Hallo,

Deine Annahme ist richtig.
Bei ExecType ist etOpenPanel eingestellt.
Bei Parameters habe ich 90 eingestellt (prozentuale Größe des Tabs).
Leider wird beim Ändern des Integer Wertes das was unter Executable steht
nicht aktuallisiert. Die Aktuallisierung findet nur einmal beim starten des Designers statt. Wobei das bei Picture tadellos funktioniert und sich, sobald der Interger Wert sich ändert, auch das Bild sich ändert. Evtl. liegt hier ein Bug vor. Leider habe ich es bis heute nicht hinbekommen.

Sorry, hatte auch bei bei ExecType = etSetTab gemeint. Habe es bei mir damit ausprobiert und es geht ohne Probleme.
Oder ändere einfach den Tabindex des Pagecontrols, so kannst Du durch Änderung der Variablen auch verschiedene Tabs anspringen.

Hallo Michael (sanman),

wenn Du durch Klick auf ein ExecImage in ein bestimmtes TabSheet springen möchtest, musst Du folgendermaßen vorgehen:

  • bei ExecType muss etSetTab ausgewählt werden
  • unter Executeable wird der Name des PageControls hinterlegt
  • unter Parameters wird die Nummer des TabSheets hinterlegt

Wenn Du nur ein einzelnes PageControl verwendest, kannst Du dessen Name direkt im Object Inspector unter Executeable eintragen. Ansonsten musst Du die gleichnamige Property im Property Editor mit einer geeigneten Variablen belegen.

Es soll hier in ein TabSheet verzweigt werden, nicht in ein PageControl. Daher musst Du die Nummer des TabSheets in Parameters eintragen, nicht in Executeable.

Das Ganze hat nichts mit etOpenPanel zu tun. etOpenPanel ist eine völlig andere Funktion.

Zur Klarstellung der Begriffe:
Tab: Ein Tab ist ein „Karteikartenreiter“ meist am oberen Rand eines PageControl. Es wird wie ein Button verwendet.
TabSheet: Ein TabSheet ist dasjenige Fenster (vergleichbar mit einem Panel), das durch Klick auf das zugehörige Tab geöffnet wird.
PageControl: Das PageControl ist das äußere umschließende Objekt, in dem Tabs und TabSheets enthalten sind.

Gruß
HJH

Hallo HJH,

vielen Dank für Deine Antwort.
Ich benutze aber den Befehl „etOpenPanel“ und möchte den Inhalt eines
Tabs nach vorne holen. Das funktioniert auch bestens.
Mein Problem ist aber die Bitmaske, welche unter „Executeable“ den
Namen angibt. Diese wird nicht geändert, wenn sich der Integer Wert ändert.
Die Aktualliesierung findet nur einmal, nachdem der Designer gestartet wurde statt.
Mit verschienen Bildern über die Bitmaske funktioniert dies.
Vielleicht hab ich mein Problem falsch ausgedrückt.

Hallo Michael,

handelt es sich bei den Textbezeichnungen wirklich um die „Namen“ der TabSheets oder sind es die „Captions“?

Ich habe es nicht ausprobiert, aber nach meinem Verständnis muss man die Namen verwenden.

Gruß
HJH

Hallo,

ich benutze die Namen und nicht die Captions.
Ich denke das Problem ist nicht das Element sonder das aktuallisieren
des Inhaltes der Variable. In diesem Fall der Bitmaske.

Beim Ändern eines Bildes funktioniert dies auch. (siehe 2. Bild oben)
Aber leider nicht beim Ändern des Inhaltes für Executeable. (siehe 3. Bild oben).

Also habe bei mir mal Probehalber ein ExecImage angelegt und sobald sich der Interger Wert der Variable die Executable zugeordnet ist ändert steht auch der Text der in der Bitmaske hinterlegt ist im Objekt Inspector Fenster. Das geht also.

Hallo,

ich hab jetzt probehalber ein komplett neues Form erstellt.
Und siehe da, es funktioniert.
Nun wollte ich meine erstellten Form in die neue kopieren.
Das hat auch funktioniert. Leider ist der Fehler der selbe.
Weiter bekomme ich nun folgende Fehlermeldung vom IPSDesigner wenn
ich F12 zum bearbeiten drücke (siehe Bild).
Nach bestätigen von OK läuft er normal weiter.
Ich nutze die Designerversion aus dem BETA Bereich. Der Fehler tritt
auch mit der Version im Liveupdate auf.
Betriebssystem ist Vista 64Bit.
Könnte das mit dem Fehler zusammenhängen oder ist Irgendwas an meinem
Form kapput.

Gruss
Michael

Aufzeichnen.JPG