Migration und kleine Probleme

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

Moderator: Moderatoren

Antworten
Benutzeravatar
sherlogg
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Mo, 19. Nov 2012 14:59
Wohnort: Mühlheim am Main
Hat sich bedankt: 15 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Migration und kleine Probleme

Beitrag von sherlogg »

Hallo Zusammen!

Ich habe meine erste (umfangreichere) Anwendung von Clipper nach Xbase++ migriert (reiner Textmodus) und habe jetzt noch mit dem eine oder anderen Problemchen zu kämpfen. Die Anwendung selbst ist zwar komplexer, aber nicht sehr kompliziert. Es werden auch nicht riesen Datenmengen geschaufelt.

Thema #1
Bei Clipper wird ja der Taste F1 automatisch die Hilfefunktion (HELP) zugewiesen. Das hat auch prächtig funktioniert unter Clipper. Ist das bei XBase genauso? Auf jeden Fall funktioniert F1 nicht mehr so wie gewünscht. Ich habe die Online Hilfe von XBase gewälzt und nichts explizites dazu gefunden (oder ich sehe den Wald vor lauter Bäumen nicht mehr). Ansonsten würde ich eben mit

Code: Alles auswählen

SETKEY(K_F1,{|| Trallala()})
arbeiten.

Thema #2
Ich hatte jetzt schon mehrfach das Problem, dass sich die Applikation einfach selbst schließt. Beispiel: ich bin in einem Programmteil (sagen wir mal die Adressverwaltung). Ich beende den Programmteil mit ESC. Er springt zurück ins Menü und eine Sekunde später schließt sich das Programm von selbst (ESC ist nicht die Taste, mit der das Programm geschlossen wird, sondern nur Programmteile!!!! und MEM ist ausreichend vorhanden). Hat da einer von euch eine Idee dazu??

Thema #3
Das ist eher eine (pseudo)rhetorische. Die EXE ist sehr groß (knapp über 4 MB). Ich gehe einmal davon aus, dass dies dem Textmodus geschuldet ist!!??

Das Forum habe ich schon durchsucht und nichts gefunden,was dazu passt!

Danke schon mal im Voraus!

Gruß, Dieter
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2821
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 94 Mal
Danksagung erhalten: 13 Mal

Re: Migration und kleine Probleme

Beitrag von georg »

Hallo, Dieter -


wenn ein Programm wegen eines Laufzeitfehlers geschlossen wird, gibt es normalerweise (siehe ErrorSys.prg) eine Fehlermeldung und (normalerweise im Programmverzeichnis) eine XppError.log. Wenn es ein schwerwiegender Laufzeit ist, bei dem das Programm ohne Fehlermeldung abraucht, solltest Du auf jeden Fall eine XppFatal.log finden. Das würde ich als erstes mal überprüfen.

Die angegebene Grösse ist normal.

Und da ich seit Jahren nicht mehr im Textmodus programmiere (ausser bei Kommandozeilenprogrammen) kann ich zu F1 wenig sagen.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
sherlogg
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Mo, 19. Nov 2012 14:59
Wohnort: Mühlheim am Main
Hat sich bedankt: 15 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Migration und kleine Probleme

Beitrag von sherlogg »

Hallo Georg,

zunächst Danke, für die superschnelle Antwort.

Das mit der XppFatal.log war ein perfekter Hinweis. Jetzt kann ich eingrenzen.

Danke.

Gruß, Dieter
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Migration und kleine Probleme

Beitrag von Werner_Bayern »

sherlogg hat geschrieben:Thema #1
Bei Clipper wird ja der Taste F1 automatisch die Hilfefunktion (HELP) zugewiesen. Das hat auch prächtig funktioniert unter Clipper. Ist das bei XBase genauso? Auf jeden Fall funktioniert F1 nicht mehr so wie gewünscht. Ich habe die Online Hilfe von XBase gewälzt und nichts explizites dazu gefunden (oder ich sehe den Wald vor lauter Bäumen nicht mehr). Ansonsten würde ich eben mit

Code: Alles auswählen

SETKEY(K_F1,{|| Trallala()})

Code: Alles auswählen

set key 28 to help
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
sherlogg
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Mo, 19. Nov 2012 14:59
Wohnort: Mühlheim am Main
Hat sich bedankt: 15 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Migration und kleine Probleme

Beitrag von sherlogg »

Hallo Werner,

danke für Deine Antwort zu F1.

Das Leben kann so einfach sein ...

Gruß, Dieter
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Migration und kleine Probleme

Beitrag von Werner_Bayern »

Bitte, gerne. :)
es grüßt

Werner

<when the music is over, turn off the lights!>
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: Migration und kleine Probleme

Beitrag von brandelh »

wenn die Anwendung mit GUI=NO (Projektdatei) gelinkt wird, dann gelten die INKEY.CH Konstanten wie bei Clipper 5.2e (5.3 hatte da Neuerungen).
wenn man aber auf GUI=YES umstellt, muss man - soweit ich mich erinnere. Ich habe gerade bei einem meiner alten nachgesehen:

Code: Alles auswählen

#include "inkey.ch"
...
set key K_F1      to helphelp
set key K_CTRL_F1 to helphelpedit
und in der INKEY.CH steht:
#define K_F1 28
das müsste genauso wie in Clipper sein !
Gruß
Hubert
Benutzeravatar
sherlogg
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Mo, 19. Nov 2012 14:59
Wohnort: Mühlheim am Main
Hat sich bedankt: 15 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Migration und kleine Probleme

Beitrag von sherlogg »

Ich habe die App jetzt mal (zum Spaß) mit GUI=YES compiliert.

Interessanterweise kracht es dann relativ schnell beim Arbeiten in der App. Und zwar stört er sich ganz extrem an den Funktionen SETKXLAT() und GETKXTAB().

Das Programm stürzt dann in diesen Programmteilen ab, die auch in der XPPFATAL.LOG eingetragen sind, wenn das Programm mit GUI=NO compiliert wird.

Aber die Doku sagt ja schon, dass es Probleme mit SETKXLAT() gibt.

Gruß, DIeter
Antworten