IntelliHelp tool-tip

Xbase++-IDE - Workbench, Visual Xbase

Moderator: Moderatoren

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

IntelliHelp tool-tip

Beitrag von Manfred »

Moin,

im Moment habe ich ein Brett vor dem Kopf, oder auch nicht.

Wenn im VX Editor eine selbstgeschriebene Funktion aufgerufen wird, die im aktuellen Projekt steht, dann werden die Parameter eingeblendet, die man eintippen kann/muß. Wie bekommt man das denn hin, wenn fertige Obj Files eingebunden werden, die man sich separat geschrieben hat?

Hat irgendjemand eine Ahnung, ob es einen Schalter, einen Haken, oder sonstwas gibt, den man aktivieren muß?

Oder muß der Quelltext irgendwie mit angegeben werden? (wenn ja, wie? Er soll ja nicht jedesmal mitkompiliert werden) Ich habe das bis jetzt noch nicht richtig hinbekommen, weiß aber nicht so direkt, wo ich den Hebel ansetzen muß.
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
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Na gut, ich schätze mal das bisher noch keiner damit Erfahrung gesammelt hat. Hier die Antwort:
------------------------------------------------------------------------------------

Nachdem ein Projekt geladen wurde sorgt ein eigenständiger PRG
Prozessor dass die Kontext relevanten Informationen eingelesen
werden. Das hat nichts mit dem Debugger zu tun, die Sourcen müssen
aber als PRG Datei vorliegen.

Im Falle des IntelliCodes verdient die VX aber noch das Prädikat
PRE-RELEASE. Hier währe es mit Sicherheit wünschenswert, dass
das VX Project Management auch mit objekt Dateien zurecht kommt.
Desweiteren hat die VX noch in diesem Bereich Probleme wenn eines
Targets verlassen wird.

Die Probleme die sie hier beobachten haben also nichts mit einem
Denkfehler Ihrerseits zu tun, vielmehr verbergen sich hier noch einige
Defekte die mit dem Release behoben sein werden.

Mit freundlichen Grüssen,
Andreas Herdt
Alaska Technical Support



> > Hallo Alaska Support,
> >
> > ich habe irgendwie noch ein paar Verständnisprobleme bezüglich des
> > Intelli Codes.
> > Wann greift dieses Feature bei eigenen Funktionen und Klassen überhaupt?
> > Wie sieht es aus, mit eigenen selbstgeschriebenen Bibliotheken, die als
> > OBJ Files eingebunden werden, die aber als PRG File nicht im Projekt
> > stehen? Wann sollte man darauf den Zugriff, bzw. die Hilfeanzeige
> > erhalten? Ist das erst der Fall, wenn das Programm einmal komplett durch
> > den Debugger gelaufen ist und somit die PRG Files hinzugeladen wurden,
> > oder sollte es schon beim Öffnen des Projektes sein? Wenn die
> > zusätzliche Bibliothek einmal debugged wurde, dann klappt es auf jeden
> > Fall, aber ist das so geplant gewesen, oder mache ich hier einen Denkfehler?
> >
> > --
> > mit freundlichen Grüßen
> >
> >
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!!
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

habe das selbe Problem in grün

Beitrag von Gerd König »

Hi,

wir haben unter XBase mehrere Projekte (ich meine XPJ's). Im wesentlichen sind das
1. DLLs mit diversen Funktionen (DBF- und File-Handling, SQL, u.a.)
(für jede DLL ein Projekt)
2. DLLs mit diversen Klassen (ohne und mit GUI)
(alle DLLs befinden sich in einem Projekt)
3. EXEs
(jede EXE ein Projekt)

Innerhalb des Projekts von 2. habe ich kein Problem mit den Tooltips zu den Methoden aller vom Projekt verwalteten DLLs. Ich erhalte aber keine Tooltips zu den Funktionen von 1.. Die LIBs dazu habe ich in den Quelldateien per "#pragma Library(...) angegeben und auch in die XPJ-Datei im Bereich "// $START-AUTODEPEND" - "// $STOP-AUTODEPEND" eingetragen.

Ebenso steht mir in jedem EXE-Projekt keinerlei Tooltip aus 1. und 2. zur Verfügung.

Da aber die XBase-eigenen Funktionen per Tooltip angezeigt werden, sollte es auch die Möglichkeit geben, eigene Tooltips einzubinden.
Im Alaska-Verzeichnis ALASKA\XPPW32\BIN\TypeLibs gibt es die Dateien VXCORE20.TLB, VXCORE20.TLD und VXCORE20.TLI. Ich vermute, daß diese die Tolltips enthalten.

:?: Falls das der Fall ist: Hat einer von Euch eine Idee wie man eigene Typelibs erstellen kann?

Grüße aus Thüringen
Gerd
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Gerd,
ich habe damit noch keine Erfahrungen gesammelt, habe aber bei anderen Sourcen gesehen, dass es im Prinzip in einer Art XML-Struktur in den jeweiligen Sourcen (am bzw. vor dem Anfang der jeweiligen function/procedure) angegeben zu sein scheint.
Wenn Du Dir mal die Datei fileio.prg von Alaska anschaust (findest Du unter XPPW32\SOURCE\SYS), dann findest Du am Anfang folgendes:

Code: Alles auswählen

//////////////////////////////////////////////////////////////////////
/// <summary>
///  <para>
///    Erzeugen eines eindeutigen Dateinamens, z.B. fuer temporaere
///    Dateien. Der Dateiname setzt sich aus einem Prefix (3 Zeichen)
///    und einer Hexadezimalzahl zusammen. Der zurueckgegebene Datei-
///    name ist eindeutig innerhalb des in Parameter "cPath" angege-
///    benen Verzeichnisses. Das Format des Dateinamens ist platform-
///    abhaengig, entspricht aber in der Regel folgendem Muster:
///  </para>
///  <para>
///      <path>\<prefix><number>.TMP
///  </para>
///  <para>
///      cPath:
///  </para>
///  <para>
///      Gibt das Verzeichnis an, in dem die Datei erzeugt werden
///      soll. Ist "cPath" leer, wird das Standardverzeichnis fuer 
///      temporaere Dateien angenommen ("TEMP"). 
///  </para>
///  <para>
///      cPrefix:
///  </para>
///  <para>
///      In "cPrefix" kann ein beliebiger Praefix angegeben werden. 
///      Dieser Parameter ist optional. Die Voreinstellung ist "xpp".
///  </para>
/// </summary>
/// <returns>
///   Einen innerhalb eines Verzeichnisses eindeutigen Dateinamen
/// </returns>
//////////////////////////////////////////////////////////////////////
FUNCTION GetUniqueFileName( cPath, cPrefix )
.....
Vielleicht hilft Dir/Euch das weiter?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

eigentlich traue ich mich ja gar nicht etwas zu schreiben, aber es ist wichtig, das zwischen HelpText und der eigentlichen Funktion keine Leerzeile ist, sonst klappt das nicht. (meine ich entdeckt zu haben)
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
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
Manfred hat geschrieben:eigentlich traue ich mich ja gar nicht etwas zu schreiben, aber...
wieso? Ist doch ein wichtiger Hinweis, vielen Dank!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

Beitrag von Gerd König »

Hallo Martin,

erst einmal vielen Dank für die Information.

Vielleicht haben wir uns falsch verstanden:

Mir geht es nicht um die "embedded documentation", die (auch) nur im aktuellen Projekt wirksam ist, da der Editor den Dokumentationstext direkt aus der Quelle liest.

Habe ich z.B. eine Methode

MeineKlasse:LeseAdresse(cKundennummer)

und schreibe dann einer der Quelldateien
::LeseAdresse(

wird als Tooltip MeineKlasse:LeseAdresse(cKundennummer) angezeigt
Das funktioniert aber genau wie embedded doc. nur im aktuellen Projekt.

Warum geht das aber bei XBase-Funktionen? Ich glaube, daß sich die Funktionsdefinitionen im Verzeichnis Typelibs befinden. Die Daten dazu, nehme ich an, werden im Rahmen des Compilierens oder Linkens in die entsprechenden Dateien geschrieben, oder es gibt ein spezielles Tool zur Generierung dieser Dateien direkt aus dem Quellcode oder einer speziellen Textdatei, die die Procedur-, Funktions- und Methoden-Prototypen enthält.

Ich kann mir nicht vorstellen, daß die Prototypen in vx noch einmal zusätzlich definiert und mit compiliert sind (würde ich jedenfalls aus Aufwandsgründen vermeiden).

Vielleicht sollte ich mich mal direkt an Alaska Software wenden?

Wie gesagt, innerhalb eines Projektes (auch mit vielen Sourcecodedateien, bei mir etwa 300) - alles roger -

Viele Grüße, Gerd
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Gerd,
tut mir leid, dass mein Vorschlag in die falsche Richtung ging :cry:
Aber bezüglich Deines Problemes meine ich mal was gelesen gehabt zu haben. Für die 3pp-Entwickler (und damit auch für "Normalsterbliche") wird es wohl möglich sein, die in anderen DLLs enthaltenen Funktionen "bekannt" zu machen - dann funktioniert auch das AutoCompletion.
Wie weit das mittlerweile gediegen ist und ob es dafür reicht, die entsprechende DLL-Datei einfach in das VX-Projektfenster zu ziehen, weiß ich leider nicht - ich arbeite noch nicht mit VX.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

Ich suche weiter...

Beitrag von Gerd König »

Hallo Martin,

ich danke Dir für den Hinweis.

Ich arbeite auch noch nicht mit vx. Im Moment laufen nur Untersuchungen zur Umstellung auf XBas 1.9 und vx.

Als Editor verwenden wir gegenwärtig den MED-Editor, mit welchem wir eigentlich soweit zufrieden sind. Auch Xbase 1.82 läuft bei uns im wesentlichen stabil (abgesehen von garbage-Problemen bei "schwachen" PCs), so daß wir hinsichtlich einer Umstellung keinen Druck haben.

Trotzdem werde ich mich weiter mit diesem Thema beschäftigen. Falls ich eine Lösung habe, werde ich diese auf jeden Fall in diesem Forum bekanntgeben da andere User sicher vor dem gleichen Problem stehen.

Bis demnächst, Gerd
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Ich suche weiter...

Beitrag von Martin Altmann »

Hallo Gerd,
Gerd König hat geschrieben:Falls ich eine Lösung habe, werde ich diese auf jeden Fall in diesem Forum bekanntgeben da andere User sicher vor dem gleichen Problem stehen.
dafür schon mal im voraus herzlichen Dank!!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Ich suche weiter...

Beitrag von brandelh »

Gerd König hat geschrieben:Als Editor verwenden wir gegenwärtig den MED-Editor, mit welchem wir eigentlich soweit zufrieden sind.
dem kann ich nur zustimmen :D
Gruß
Hubert
Antworten

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