Setmouse(.T.) ist ohne Wirkung [gelöst]

Auf dem Weg von Clipper, FoxPro u.ä. nach Xbase++

Moderator: Moderatoren

Antworten
Benutzeravatar
uwe.24
UDF-Programmierer
UDF-Programmierer
Beiträge: 52
Registriert: Di, 01. Aug 2006 15:47
Wohnort: Osnabrück
Danksagung erhalten: 1 Mal

Setmouse(.T.) ist ohne Wirkung [gelöst]

Beitrag von uwe.24 »

Hallo zusammen.

Ich beschäfuige mich seit einiger Zeit damit nach und nach Programme von Clipper auf XBase++ umzustellen.

Das macht (wie ihr wisst) manchmal Probleme.
Nachdem ich nun drucken kann (Danke Hubert), stoße ich auf Mausprobleme.
In einem vorherigen (neu erstellten) PRG lief alles ohne Probleme.
SETMOUSE(.T.) und ich kann in GET - READ Passagen Eingabefelder mit der Maus anspringen.

In einem weiteren, sehr umfangreichen PRG (aus einem Clipper Progarmm umgebaut) geht das jetzt nicht.
SETMOUSE(.T.) steht am Programmanfang, dirkt hinter 'proc main'.
Dann kommt ein Prompt-Menu. Da kann ich die Maus auch noch benutzen.
Wählt man aber einen Menupunkt (z.B. Daten ändern oder was anderes) wird dann die Maus bei GET - READ ignoriert.
Die Abfrage SETMOUSE() in dem betreffenden Progarmmteil zeigt aber .T.

Ich hab viel gesucht:
'Set Key to' oder 'Inkey(X)' sollen Probleme machen - das wird aber im ersten PRG ohne Probleme gemacht.

Ich weiß - ich sollte auf AppEvent() umbauen - aber das dauert noch etwas.

Könnt ihr mir sagen, wo ich weiter suche sollte?

Uwe aus OS
Zuletzt geändert von uwe.24 am Do, 04. Aug 2011 15:33, insgesamt 1-mal geändert.
Uwe aus OS
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: Setmouse(.T.) ist ohne Wirkung

Beitrag von AUGE_OHR »

hi,

ich kann das mit SETMOUSE(.T.) nicht nachvollziehen warum des dann nicht mehr arbeiten sollte.

Frage :hast du evtl. einen "eigenen" GET- Reader ?

wenn ja und es noch der Cl*pper GET-Reader sein sollte musst du den "umschreiben" und die GETSYSX.PRG mit einbinden den bei /PM:PM wird

Code: Alles auswählen

      ELSEIF soStatus:useAppEvent
         // Eingabe über AppEvent()
         GetEventReader( oGet )
in C:\ALASKA\XPPW32\Source\SYS\GetSys.prg benutzt
gruss by OHR
Jimmy
Benutzeravatar
uwe.24
UDF-Programmierer
UDF-Programmierer
Beiträge: 52
Registriert: Di, 01. Aug 2006 15:47
Wohnort: Osnabrück
Danksagung erhalten: 1 Mal

Re: Setmouse(.T.) ist ohne Wirkung

Beitrag von uwe.24 »

Hallo Jimmy,

ich nutze in beiden PRGs den Standard mit /PM:PM compiliert.

In einem Fall (übersichtliche Sourcelänge) funktionierts.
Im ander Fal (große Source) geht es eben nur zu Anfang im PROMPT Menu
und bei den GETs nicht mehr.

Uwe aus OS.
Uwe aus OS
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: Setmouse(.T.) ist ohne Wirkung

Beitrag von AUGE_OHR »

uwe.24 hat geschrieben:Im ander Fal (große Source) geht es eben nur zu Anfang im PROMPT Menu
und bei den GETs nicht mehr.
und wenn du das PROMPT mal raus nimmst ? ( nur zum testen )

... welchen "o:mouseMode" benutzt du ? XBPCRT_MOUSEMODE_PM oder XBPCRT_MOUSEMODE_VIO ?
gruss by OHR
Jimmy
Benutzeravatar
uwe.24
UDF-Programmierer
UDF-Programmierer
Beiträge: 52
Registriert: Di, 01. Aug 2006 15:47
Wohnort: Osnabrück
Danksagung erhalten: 1 Mal

Re: Setmouse(.T.) ist ohne Wirkung

Beitrag von uwe.24 »

Hallo,

ich hab den Fehler gefunden.

Ein dusseliges 'Clear all' am Anfang des PRGs war die Ursache.
War noch aus der Clipper-Übernahme drin.
Rausgenommen - da geht es mit setmosue(.t.).

Danke für eure Hilfe.
Weitere neue Fragen werden wohl noch kommen.

Und immer dran denken:
Kaum macht man es richtig - schon geht es :D

Uwe us OS.
Uwe aus OS
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Setmouse(.T.) ist ohne Wirkung

Beitrag von brandelh »

uwe.24 hat geschrieben: SETMOUSE(.T.) steht am Programmanfang, dirkt hinter 'proc main'.
Dann kommt ein Prompt-Menu. Da kann ich die Maus auch noch benutzen.
Ich hab viel gesucht:
'Set Key to' oder 'Inkey(X)' sollen Probleme machen - das wird aber im ersten PRG ohne Probleme gemacht.
Ich weiß - ich sollte auf AppEvent() umbauen - aber das dauert noch etwas.
Ein Programm mit setMouse(.t.) muss eine andere Include Datei für Lastkey() und andere Events verwenden:
#include "inkey.ch" // NUR solange setMouse(.t.) nicht aufgerufen wurde.
#include "Appevent.ch" // alle GUI Programme oder nach setMouse(.t.)

SET KEY TO Befehle sollten dennoch funktionieren, solange man das GET System benutzt, aber eben mit anderen Defines !
Gruß
Hubert
Antworten