ObjectInspector [Erledigt]

Xbase++-IDE - Workbench, Visual Xbase

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

ObjectInspector [Erledigt]

Beitrag von Jan »

Moin,

Verständnisfrage: Wenn ich per CreateObject() einen COM-Server hole, dann werden im ObjectInspector nur einige wenige rudimentäre Werte angezeigt. All das, was da an Methoden, Memvars, etc. drin ist, fehlt. Kennt jemand den Hintergrund? Ist das systembedingt bei COM-Servern, oder hat Alaska da etwas "vergessen"? Ich kenne mich mit den Teilen zu wenig aus.

Jan
Zuletzt geändert von Jan am Fr, 12. Jun 2020 16:12, insgesamt 1-mal geändert.
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: ObjectInspector

Beitrag von HaPe »

Morgen Jan !
Wenn ich per CreateObject() einen COM-Server hole, dann werden im ObjectInspector nur einige wenige rudimentäre Werte angezeigt. All das, was da an Methoden, Memvars, etc. drin ist, fehlt. Kennt jemand den Hintergrund? Ist das systembedingt bei COM-Servern, oder hat Alaska da etwas "vergessen"?
Der Dreh- und Angelpunkt ist die zugehörige Type-Library.
Genau darin stehen alle Methoden, Events und Properties welche der COM-Server anbietet.
Je nach Hersteller und Art liefert der Hersteller diese mit oder kann (bei .Net.Assemblies) mittels RegASM erstellt werden.

In deinem Fall, sollte die EasyTSE.tlb im TSE-Verzeichnis liegen und die Xbase++-IDE bzw. die WorkBench sollte diese Datei auslesen können.
Jede IDE die Intellisense kann (also auch Excel-VBA) kann sich aus der TLB bedienen.

Was Xbase++ wie und wann mit der TLB macht, entzieht sich meiner Kenntnis.
--
Hans-Peter
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Hans-Peter,

ich hatte heute früh schon eine Mail an den Alaska-Support geschickt. Aber die haben ja heute Brückentag. Von daher war meine Hoffnung das hier im Forum da tiefschürfendes zu weiß. Das wird ja kein spezielles Problem dieser einen dll sein.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: ObjectInspector

Beitrag von Tom »

Nach meinem Verständnis beschränkt sich der OI immer auf die Alaska-Basisklasse - oder die abgeleitete Klasse, insofern sie Xbase++-Konventionen genügt. Bei einem ActiveX-Objekt hat man die Wrapperklasse (Xbase++) und das darin gewrappte Klassenobjekt, auf das man zwar Zugriff hat, aber eigentlich nur indirekt.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Hallo Tom,

genau so sieht das für mich aus. Wünschenswert wäre aber natürlich mehr.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: ObjectInspector

Beitrag von HaPe »

Jede IDE die Intellisense kann (also auch Excel-VBA) ...
Wenn das in Excel-VBA sowohl im Debugger wie auch für Intellisense funktioniert, sollte das Alaska zumindest für den Debugger hinbekommen.
Wozu soll der Objekt-Inspector denn sonst gut sein, wenn nichtmal Intellisense vorhanden ist :roll:
--
Hans-Peter
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Hans-Peter,

aber IntelliSense ist ein MS-Feature für die eigenen Entwicklungsumgebungen. Wie soll Alaska das denn 1:1 in die Workbench rein bekommen?

Die Workbench hat ja ein ähnliches Feature für das Coden. Aber eben nicht IntelliSense weil nur in MS-IDEs.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: ObjectInspector

Beitrag von HaPe »

Hallo Jan !
aber IntelliSense ist ein MS-Feature für die eigenen Entwicklungsumgebungen.
Nö, das hat nix mit $MS zu tun, das kann so gut wie jede IDE (außer Xbase++), viele Editoren (UltraEdit, NotePad++, ... gegebenenfalls mit einem PlugIn).

Was ich im vorherigen Thread aussagen wollte, in der TLB-Datei stehen genau diese Infos drin, die man sowohl für Intellisense wie auch für den Debugger (bei Alaska den Objekt-Inspector) benötigt um den Entwickler zu unterstützen.
https://de.wikipedia.org/wiki/Typbibliothek
--
Hans-Peter
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: ObjectInspector

Beitrag von brandelh »

es gibt doch ein Dienstprogramm, das z.B. von Excel alle Infos ausliest und eine CH Datei draus macht, habt Ihr das mal auf das andere los gelassen (bei PowerBasic ist das der COM Browser), hier TBL ... ich muß nachsehen ;-)

tlb2ch.exe

Code: Alles auswählen

//////////////////////////////////////////////////////////////////////
//
//  EXCEL.CH
//
//  Copyright:
//   Alaska Software, (c) 2002-2020. Alle Rechte vorbehalten.         
//  
//  Inhalt:
//   Diese Datei wurde mit tlb2ch.exe erzeugt
//  Bemerkungen:
//   Entnehmen Sie bitte das Parameterprofil von tlb2ch.exe der
//   Online Dokumentation
//  Syntax:
//   tlb2ch.exe excel.application > excel.ch
//   
//  Return:
//////////////////////////////////////////////////////////////////////
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Hubert,

interessanter Ansatz. Wo steht das Programm denn?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: ObjectInspector

Beitrag von Tom »

Ja, aber es geht nicht darum, herauszubekommen, welche Methoden, iVars, Enums usw. es überhaupt gibt, sondern darum, zur Laufzeit zu sehen, welche Methode was zurückreicht und welche iVar gerade welchen Wert enthält. Oder?
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Tom,

ja. Korrekt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: ObjectInspector

Beitrag von brandelh »

Jan hat geschrieben: Fr, 12. Jun 2020 12:50 Hubert,
interessanter Ansatz. Wo steht das Programm denn?
Jan
seit es ActiveX Unterstützung gibt, gibt es diese EXE im BIN Verzeichnis neben dem Compiler ;-)

EDIT: seit 1.90.331 gibt es die EXE, bis 1.82 nicht.

Mit dem Debugger hab ich es nicht so, COM Objekte werden dort angezeigt, aber nicht alle sind Xbase++ Objekte und beim ActiveX Zugriff wird ja unsere Sprache verlassen.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Hubert,

das ist eher ein Schuß in den Ofen. Außer dem Alaska-Header gibt der mir nur 3 Zeilen aus: #ifndef, #define, und #endif. Das ist nun doch eher wenig informativ.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: ObjectInspector

Beitrag von Jan »

Till hat mir gerade geschrieben (haben die nicht heute Brückentag?). Im Augenblick sei das leider so, das die Properties nicht im Debugger angezeigt werden, weil deren Objektschnittstelle sich dem Debugger gegenüber anders darstellt.

Dieses "im Augenblick leider" könnte natürlich Hoffnung geben, das sich das irgend wann einmal ändern könnte.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten

Zurück zu „Workbench (ab 2.0), VX (bis 1.9 SL1)“