Objekt-Typ aus Debugger verfügbar im Code?
Moderator: Moderatoren
Objekt-Typ aus Debugger verfügbar im Code?
Hallo,
beim Debuggen ist mir aufgefallen, dass wenn ein Objekt in einer Variable gespeichert ist der Typ als Name angezeigt wird also z.b. XbpSle, XbePushButton usw..
Kann ich das mit einer Funktion oder Eigenschaft auch zur Laufzeit abfragen und verwenden?
beim Debuggen ist mir aufgefallen, dass wenn ein Objekt in einer Variable gespeichert ist der Typ als Name angezeigt wird also z.b. XbpSle, XbePushButton usw..
Kann ich das mit einer Funktion oder Eigenschaft auch zur Laufzeit abfragen und verwenden?
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Objekt-Typ aus Debugger verfügbar im Code?
Hi,
paßt evtl. :isDerivedFrom() ??
paßt evtl. :isDerivedFrom() ??
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!!
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!!
Re: Objekt-Typ aus Debugger verfügbar im Code?
hmm.. ich glaub nicht - da müsste ja dann für das XbpSle als Ergebnis XbpWindow als Ergebnis zurückgegeben werden?
woher hast du diesen Funktionsnamen - ich bin jetzt bis XbpPartHandler zurück gegangen im Referenz-Handbuch und da war diese nicht mit dabei.
huch.. 'DataRef' steht ja auch als Superklasse in der Referenz - Mehrfachvererbung?
Scheint ich muss mir erstmal anschauen wie das mit der Vererbung in XBase funktioniert.
Mehrfachvererbung hatte ich glaube noch nicht verfügbar in einer Sprache - habe bisher hauptsächlich mit PHP, C# und ein wenig Java programmiert.
oh, Seite 2 im Klassen-Referenz-Handbuch: Abstract():classDescribe( CLASS_DESCR_CLASSNAME ) - das klingt gut - werd ich gleich mal versuchen
EDIT: Abstract():className() gibt es auch
woher hast du diesen Funktionsnamen - ich bin jetzt bis XbpPartHandler zurück gegangen im Referenz-Handbuch und da war diese nicht mit dabei.
huch.. 'DataRef' steht ja auch als Superklasse in der Referenz - Mehrfachvererbung?
Scheint ich muss mir erstmal anschauen wie das mit der Vererbung in XBase funktioniert.
Mehrfachvererbung hatte ich glaube noch nicht verfügbar in einer Sprache - habe bisher hauptsächlich mit PHP, C# und ein wenig Java programmiert.
oh, Seite 2 im Klassen-Referenz-Handbuch: Abstract():classDescribe( CLASS_DESCR_CLASSNAME ) - das klingt gut - werd ich gleich mal versuchen
EDIT: Abstract():className() gibt es auch
Zuletzt geändert von Wonderer am Do, 15. Okt 2015 12:39, insgesamt 1-mal geändert.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2832
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 99 Mal
- Danksagung erhalten: 13 Mal
Re: Objekt-Typ aus Debugger verfügbar im Code?
Versuche es mal mit :className()
Weitere Informationen dazu findest Du in der Dokumentation unter der Klasse Abstract(). :classDescribe() beschreibt die komplette Klasse, also Methoden, iVars etc.
Weitere Informationen dazu findest Du in der Dokumentation unter der Klasse Abstract(). :classDescribe() beschreibt die komplette Klasse, also Methoden, iVars etc.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Re: Objekt-Typ aus Debugger verfügbar im Code?
Danke, das zeigt man sollte auch in einem Referenz-Handbuch mal von ganz vorn ein wenig durchblättern
Aber ich schieb es mal auf die fehlende Erwähnung der Superklasse Abstract im Abschnitt XbpPartHandler
es sah so aus als wäre diese in der Hierarchie ganz am Anfang - keine Superklasse(n) angegeben...
Aber ich schieb es mal auf die fehlende Erwähnung der Superklasse Abstract im Abschnitt XbpPartHandler
es sah so aus als wäre diese in der Hierarchie ganz am Anfang - keine Superklasse(n) angegeben...
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Objekt-Typ aus Debugger verfügbar im Code?
Die Class Abstract und XbpPartHandler ist für einen normalen Xbase++ User nicht interessant ... es sind die fertigen Controls auch XbPart genannt.Wonderer hat geschrieben:Aber ich schieb es mal auf die fehlende Erwähnung der Superklasse Abstract im Abschnitt XbpPartHandler es sah so aus als wäre diese in der Hierarchie ganz am Anfang - keine Superklasse(n) angegeben...
wenn du anfängst GUI Code zu erstellen dann kann dir dabei der Formdesigner XPPFD.EXE helfen.
dort hast du auch die XbParts zur Verfügung und in der Property Box kannst du die wichtigsten iVAR Einstellungen schon vornehmen.
zu Schluss solltest du dir Class Code generieren lassen ... der Einstieg in die Xbase++ OOP Welt.
Tip : zwischendurch im Formdesigner immer wieder "speichern unter" damit nicht alles weg ist wenn XppFD abstürzt.
gruss by OHR
Jimmy
Jimmy
Re: Objekt-Typ aus Debugger verfügbar im Code?
Danke, ich habe nach einer halben Stunde mit dem Form-Designer dieses 'Tool' verworfen und schreibe jetzt alles per Hand.
Das hat auch den Vorteil, dass ich es verstehe und mir merke.
Die Klassen Abstract und XbpPartHandler sind für mich schon interessant und wichtig.
Da sind viele vererbte Eigenschaften usw. die man braucht für das Bauen einer GUI.
Das hat auch den Vorteil, dass ich es verstehe und mir merke.
Die Klassen Abstract und XbpPartHandler sind für mich schon interessant und wichtig.
Da sind viele vererbte Eigenschaften usw. die man braucht für das Bauen einer GUI.
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Objekt-Typ aus Debugger verfügbar im Code?
Ich muß gestehen, das ich den Formdesigner niemals benutze. Eine Zeitlang nur, um von ActiveX-Anwenungen die CLSID zu erfahren. Ansonsten schreibe ich auch alles von Hand. Viel flexibler, schneller, individueller. Aber da denken hier natürlich andere Entwickler anders drüber. Jeder hat da halt seine eigenen Vorlieben.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Re: Objekt-Typ aus Debugger verfügbar im Code?
Naja, anfangs dauerte es bei mir schon länger denke ich.Jan hat geschrieben:Ansonsten schreibe ich auch alles von Hand. Viel flexibler, schneller, individueller.
Aber wenn man so die Zahlwerte sieht dann bekommt man eine Vorstellung wie das proportional aufgebaut ist und das kann später mal hilfreich sein.
Was noch sehr hilfreich sein kann ist meiner Meinung nach, dass man durch das Abtippen ganz allgemein schneller wird beim Schreiben von Code.
Zehn-Finger-Schreiben kann ich das zwar nicht nennen was ich mache, aber ich denke es ist schon ziemlich effektiv mittlerweile - nach den vielen
Zeilen Code die ich in meinem Leben getippt habe..
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Objekt-Typ aus Debugger verfügbar im Code?
Ich nehme den Formdesigner um mir Controls mit verschiedenen Eigenschaften grob anzuordnen, erzeuge Classcode
und ändere die beiden dateien so wie ich sie brauche, z.B. mit local variablen für nPos und nSize ...
die dynamisch (zeilenweise) erhöht werden oder fixe Werte (Spalten) verwenden.
So kann ich zwischen 2 Controls eine neue Zeile mit neuen einfügen und es passt automatisch.
Das Ändern eine Spaltenvariable ändert alle der gleichen Spalte etc.
Mit der neueren (1.90.?) Instanzvariable :clientSize kann man in INIT berechnen was man an Platz braucht.
Vorher habe ich in Create die Breiten von anderen abgefragt und gesetzt, das war umständlicher.
und ändere die beiden dateien so wie ich sie brauche, z.B. mit local variablen für nPos und nSize ...
die dynamisch (zeilenweise) erhöht werden oder fixe Werte (Spalten) verwenden.
So kann ich zwischen 2 Controls eine neue Zeile mit neuen einfügen und es passt automatisch.
Das Ändern eine Spaltenvariable ändert alle der gleichen Spalte etc.
Mit der neueren (1.90.?) Instanzvariable :clientSize kann man in INIT berechnen was man an Platz braucht.
Vorher habe ich in Create die Breiten von anderen abgefragt und gesetzt, das war umständlicher.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Objekt-Typ aus Debugger verfügbar im Code?
kennst du schon die Syntax, iVar und Presentation Parameter der einzelnen XbParts ?Wonderer hat geschrieben:Danke, ich habe nach einer halben Stunde mit dem Form-Designer dieses 'Tool' verworfen und schreibe jetzt alles per Hand.
Das hat auch den Vorteil, dass ich es verstehe und mir merke.
XppFD.EXE kann dir ja "richtigen" Class Code generieren den du per Copy/Paste weiter verarbeiten kannst.
wenn du zu "XbpPartHandler" was sucht siehe dir c:\ALASKA\XPPW32\Source\samples\solution\Resize\GroupMgr.prg an.Wonderer hat geschrieben:Die Klassen Abstract und XbpPartHandler sind für mich schon interessant und wichtig.
Da sind viele vererbte Eigenschaften usw. die man braucht für das Bauen einer GUI.
zu "Abstract" habe ich noch nirgends wo was gefunden ...
gruss by OHR
Jimmy
Jimmy
Re: Objekt-Typ aus Debugger verfügbar im Code?
Ach na klar, da hätte ich auch gleich dran denken können. Werd ich dann eh brauchen wenn ich das Formular an verschiedene FontGrößen anpasse.brandelh hat geschrieben:erzeuge Classcode
und ändere die beiden dateien so wie ich sie brauche, z.B. mit local variablen für nPos und nSize ...
die dynamisch (zeilenweise) erhöht werden oder fixe Werte (Spalten) verwenden.
Danke, im Moment war ich händisch dabei das erste Layout zu 'basteln'.
Mit den Variablen das wird dann der nächste Schritt, mit nun etwas Mehrarbeit da nicht gleich zuende gedacht...
Die Anwendung hier hat XBPDLG_DLGBORDER also nicht veränderbar vom User.Mit der neueren (1.90.?) Instanzvariable :clientSize kann man in INIT berechnen was man an Platz braucht.
Vorher habe ich in Create die Breiten von anderen abgefragt und gesetzt, das war umständlicher.
Ich werde dann lediglich auf das Programm-Setting der Schrift reagieren für die Inhalte.
Re: Objekt-Typ aus Debugger verfügbar im Code?
iVar weiß ich noch nichts mit anzufangen..AUGE_OHR hat geschrieben:kennst du schon die Syntax, iVar und Presentation Parameter der einzelnen XbParts ?
PP nutze ich schon zum Initialisieren - siehe mein anderer Thread im GUI-Forum..
Danke, beim kurzen Durchblättern der Referenz zu Abstract sind mir :eval und :notify aufgefallen die interessant und sicher nützlich sind..wenn du zu "XbpPartHandler" was sucht siehe dir c:\ALASKA\XPPW32\Source\samples\solution\Resize\GroupMgr.prg an.
zu "Abstract" habe ich noch nirgends wo was gefunden ...