Title Benennung [ERLEDIGT]

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Title Benennung [ERLEDIGT]

Beitrag von Manfred »

Hi,

Roger hat es ja so eingerichtet, dass man wohl überall Title angeben kann um ein Objekt später finden zu können. Das habe ich mal versucht. Aber wo wird denn der String abgelegt und wo finde ich das denn nachher im Debugger? Ich habe schon alles abgesucht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Title Benennung

Beitrag von brandelh »

Hi,

im Zweifelsfall immer im Objekt (SELF) ;-)
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Title Benennung

Beitrag von Manfred »

Hubert, super.

Jetzt wäre es noch sehr nett, wenn Du mir sagen könntest, wie ich denn den Wert dann abfragen kann? :roll:

objekt:title jibbet nicht laut Debugger.

Angeblich ist es im GetlistArray abgelegt, aber da kannst Du ja mal drin suchen. Das ist ellengroß und ich habe es nicht gefunden. Ach so, deshalb hatte ich ja auch meine Frage hier gestellt. :wink:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Title Benennung

Beitrag von brandelh »

Hallo Manfred,

ich habe ja kein Express++, daher kann ich es nicht prüfen ;-)

Wenn es eine Instanzvariable ist, z.B. wie bei XbpDialog():title, dann muss man im Debugger
zunächst auswählen, dass man Objekte sehen will, dann das Objekt auswählen (self), dort dann nach der Instanzvariable suchen ...

Wenn sie da nicht ist, ist es keine Instanzvariable ...

Wenn sie in einem Array liegt und z.B. als Parameter übergeben wurde, die im BEISPIEL Title genannt wurde,
dann kannst du den Namen Title nicht finden.

Die Funktion die du beschreibst, wird in Xbase++ aber eigentlich durch die Methode :setName() - allerdings numerisch - abgedeckt.
Eventuell biegt er also die Infos auf diese Methode um.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Title Benennung

Beitrag von Manfred »

Hi Hubert,

das weiß ich ja alles nicht.

In der Anleitung steht:

Code: Alles auswählen

TITLE <cTitle> is a title to assign to this object.  The title
is not displayed on the screen but is simply a description of the
get object which is saved in the GetList.
Und das scheint für alles zu gelten, was Roger so zur Verfügung stellt. Nur, wenn man im Debugger nach sieht, dann sind da viele große Arrays. Und wenn man nicht so recht weiß, wo man da suchen muß.....

In dem getlist Array habe ich auf jeden Fall nichts gefunden. Aber wer weiß....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Title Benennung

Beitrag von Tom »

"TITLE" hat eigentlich nur bei Dialogen Sinn, weil Dialoge die iVar :Title und auch die Methode :SetTitle() kennen. Andere Parts haben/benötigen keinen Titel, sondern haben z.B. eine Caption. Ich vermute, Rogers Doku ist einfach nicht aktuell. Aber es gibt eine Klausel "ID" bei jeder Komponente (DCSAY, DCBROWSE, DCCHECKBOX usw.). Mit DC_GetObject(GetList,cID) findet man diese Objekte dann aus der GetList wieder. Wahrscheinlich hat Roger einfach vergessen, die Doku für "TITLE" bzw. die Verfügbarkeit dieser redundanten Klausel zu ändern. Diese ID wird auch benutzt, um z.B. mit DC_AutoRestoreBrowse() durch Benutzer veränderte Spaltenbreiten und -anordnungen in der Registry zu speichern und beim Neuaufbau der Browses zu restaurieren.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Title Benennung

Beitrag von Tom »

Ergänzung: Wenn man sich die DCDIALOG.CH ansieht, erkennt man, dass der Inhalt von "TITLE" bei über eXpress++ erzeugten XbpParts an der Position "cGETLIST_TITLE" im GetList-Array gespeichert wird. Bei meiner Version hat diese Konstante den Wert 46. Wenn man also ein GetList-Array mit AScan() durchsucht, müsste an Stelle 46 der jeweilige Zeile dieser Wert stehen. Die Referenz auf das Objekt findet man dann in der gleichen Zeile an Position oGETLIST_OBJECT, was bei mir 19 wäre (#defines ab ungefähr Zeile 420 von DCDIALOG.CH). Da DCDIALOG.CH ja immer includiert ist, kannst Du auch direkt mit den Konstanten scannen, also in AScan() cGETLIST_TITLE und oGETLIST_OBJECT (und andere) benutzen. Du brauchst die Werte nicht.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Title Benennung

Beitrag von Manfred »

Hm,

eigentlich ging es ja mal wieder um etwas ganz anderes. Ich dachte ich könnte damit ein Objekt besser wiederfinden beim Debuggen. Wenn man die Childlist() aufruft, dann kommen ja nur die Klassen zurück. Aber daran kann ich nicht erkennen, was ich wirklich brauche. Die heißen ja im schlimmsten Fall alle gleich.

Jetzt muß ich erstmal überlegen, wo ich dieses eigentliche Thema unterbringe hier im Forum.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Title Benennung

Beitrag von Tom »

Hallo, Manfred.

Alle Objekte, die Du mit eXpress innerhalb eines Dialogs erzeugst, beanspruchen jeweils eine Zeile in der GetList, außerdem der Dialog selbst und Elemente, die z.B. mit der ADDBUTTONS-Klausel hinzugefügt worden sind. Wenn Du z.B. DC_ArrayView(GetList) auf einen Pushbutton legst, müsste die Länge der GetList ziemlich genau der Anzahl der Objekte entsprechen (+ der Dialog selbst, ggf. noch mit ADDBUTTONS hinzugefügte Elemente usw.). In diesem Array findest Du von Dir mit einem TITLE versehene Objekte dadurch, dass Du Dir Spalte 46 anschaust. In Spalte 19 steht dann jeweils eine Referenz auf das Objekt selbst. GetList[nGefunden,19]:SetCaption('test') würde also z.B. die Caption eines Buttons ändern, wenn sich an Position "nGefunden" in der GetList einer befinden würde.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Title Benennung

Beitrag von Manfred »

Danke Tom,

ich dachte zuerst, es wäre mal eben kurz etwas für die schnelle Hilfe im Debugger. War aber wohl nicht.

Ich habe das eigentlich Problem mal in einen neuen Thread gepackt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten