Tooltipp-Schleife unsauber?

Moderator: Moderatoren

Antworten
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Tooltipp-Schleife unsauber?

Beitrag von Christof »

Hallo zusammen,

ich arbeite seit einiger Zeit mit der Topdown-Lib. 5.2. Komme auch gut damit zurecht. Allerdings ist mir aufgefallen, dass ich z.B. bei den Tooltipps so "komische" Aufrufsequenzen bei Fehlerkonstellationen angezeigt bekomme. Kann es sein, dass hier irgendetwas nicht i.O. ist? Baggere ich mir dann nicht mit der Zeit den Speicher zu?
Hat jemand eine Idee? Oder ist dass alles "harmlos".

Nur zur Klarheit: Es geht nicht um die angegebene Fehlermeldung. Deren Grund kenne ich und der ist auch schon so gut wie behoben. Es geht um das mehrfache Aufrufen der Tooltipp-Funktion. Ich bin halt einfach auf der Maske hin und her gefahren und habe mir verschiedene Tipps anzeigen lassen.

Code: Alles auswählen

------------------------------------------------------------------------------
FEHLERPROTOKOLL von "X:\_SEntw\KAP30\kap3.exe" Datum: 06.11.2009 08:06:27

Xbase++ Version     : Xbase++ (R) Version 1.90.331
Betriebssystem      : Windows XP 05.01 Build 02600 Service Pack 3
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: C VALUE: .T.  .and.   2 $ {2} 
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: J
oError:cargo        : NIL
oError:description  : Syntax Fehler in Makro
oError:filename     : 
oError:genCode      :         20
oError:operation    : &<.T.  .an...>
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       2300
oError:subSystem    : BASE
oError:thread       :          3
oError:tries        :          0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von (B)BROWSEREINSTELLENI(809)
Aufgerufen von BROWSEREINSTELLENI(810)
Aufgerufen von (B)UNIONKDI(375)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCRADBTN:MOTION(322)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCCHKBOX:MOTION(446)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCRADBTN:MOTION(322)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCRADBTN:MOTION(322)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCRADBTN:MOTION(322)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCCHKBOX:MOTION(446)
Aufgerufen von TDCTOOLTIP:SHOWTIP(159)
Aufgerufen von TDCRADBTN:MOTION(322)
Aufgerufen von UNIONKDI(586)
Vielen Dank und viele Grüße

Christof
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Tooltipp-Schleife unsauber?

Beitrag von AUGE_OHR »

Christof hat geschrieben:Allerdings ist mir aufgefallen, dass ich z.B. bei den Tooltipps
Frage wo kommt der Inhalt deiner ToolsTips her ?
Ich hatte es am Anfang mit eine DBF Probiert ... viel zu langsam für eine Maus User, also auf Array umgestellt.
gruss by OHR
Jimmy
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Tooltipp-Schleife unsauber?

Beitrag von Christof »

Hallo Jimmy,

ich nutze ja die Topdown-Lib. Clayton Jones hat hier eigene Klassen für Radiobuttons und Checkboxes etc. Der Tooltipp wird einfach als Variable im Quellcode mitgegeben. Ist nicht sehr flexibel, reicht aber für meine Zwecke. Natürlich dadurch ziemlich schnell.

Code: Alles auswählen

*******************************************************************************
*****************************************************************************
*                            CLASS tdcRadBtn
*****************************************************************************
CLASS tdcRadBtn FROM xbpRadioButton

EXPORTED:
  VAR    lHasMse
  VAR    cTip

  METHOD init
  METHOD destroy
  METHOD lbDown
  METHOD lbUp
  METHOD motion

ENDCLASS
*****************************************************************************
Gruß

Christof
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Tooltipp-Schleife unsauber?

Beitrag von AUGE_OHR »

Christof hat geschrieben:ich nutze ja die Topdown-Lib. Clayton Jones hat hier eigene Klassen für Radiobuttons und Checkboxes etc. Der Tooltipp wird einfach als Variable im Quellcode mitgegeben. Ist nicht sehr flexibel, reicht aber für meine Zwecke. Natürlich dadurch ziemlich schnell.
ok und wie "pflegt" du die Tooltips ?

Was ich meine, die Tooptips sollen ja eine (echte) Hilfe sein, also auch "richtig" Text.
wenn ich das nun "fest" codiere dann müsste ich, für eine andere Sprache, den ganzen Source editieren.

Also hatte ich eine in DBF wo ein Thread ein DBSEEK() machte, ABER wenn der User die Maus dann schon weiterbewegt MUSS der Thread unterbrochen werden.
genau das synchronisieren ist aber "das" Problem für "saubere" Tooltips und das hat mich einiges an Gehirnzellen gekostet bis das "so" lief wie ich das haben wollte.

Tip : nimm einen möglichst "langsamen" PC zu testen, dann macht ein schneller PC keine Probleme
gruss by OHR
Jimmy
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Tooltipp-Schleife unsauber?

Beitrag von Christof »

Da mein Programm nur in Deutschland eingesetzt wird, ist das kein Problem. Ja, es ist so, dass ich für eine andere Sprache den Source ändern müsste.

Könnte mir vorstellen, die Texte in eine oder mehrere Include-Dateien zu packen, ähnlich wie hier

Code: Alles auswählen

******* LANGUAGE SPECIFIC CONSTANTS *******
*** These are commonly used text strings in Top-Down routines,
*** such as captions on buttons and error messages.
*** Text strings in  different languages may be substituted here.
***

**** captions
#define td_CANCEL               "Abbruch"
#define td_CLOSE                "Schließen"
#define td_YES                  "Ja"
#define td_NO                   "Nein"
#define td_OK                   "OK"
#define td_ESCAN                "Esc=Abbruch"
#define td_ESCLOSE              "Esc=Schließen"
#define td_ENTOK                "Enter=OK"
#define td_ENTACCPT             "Enter=Übernehmen"
#define td_PRINT                "Drucken"
#define td_FILE                 "Datei"
#define td_REFRESH              "Aktualisieren"
#define td_ENTSEL               "Enter = Select"
#define td_INSERT               "<Einfügen>"
#define td_OVERWRITE            "<Überschreiben>"
#define td_CTRLSAVE             "Ctrl-S=Speichern"
Dann wäre die Änderung auch nicht so schwierig.
Aber, wie gesagt, ich brauche das nicht.

Gruß
Christof
Antworten