Seite 1 von 1

SET FUNCTION und #command

Verfasst: Fr, 08. Aug 2014 18:20
von sherlogg
Hallo Zusammen!

Ich hoffe mal, dass meine Frage keine Gähnen hervorruft.

Ich setze gerade ein altes Clipper-Programm mit XBase um und stoße hier auf das Problem mit SET FUNCTION. Nun kann ich ja mit der Direktive #command arbeiten. Das funktioniert perfekt, wenn ich #command in den Kopf der .PRG setze. Gibt es eine Möglichkeit den #command irgendwie global zu definieren, dass er in allen .PRG Gültigkeit hat? CH ja, aber wie kann ich dem Compiler sagen, dass er auch dort suchen soll, bevor er im .PRG auf SET FUNCTION stößt?

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt. XBase/Alaska ist noch nicht so nah an mir dran wie es Clipper ist bzw. war.

Gruß, Dieter

Re: SET FUNCTION und #command

Verfasst: Fr, 08. Aug 2014 18:35
von AUGE_OHR
hi,

wenn du die F-Tasten belegen willst gibt es 3 Möglichkeiten.

Code: Alles auswählen

#command SET FUNCTION <nFKey> [TO] [<cString>] ; 
      => __SETFUNCTION( <nFKey>, <cString> ) 
oder

Code: Alles auswählen

SET KEY <nInkey> TO [<ProcName>]
oder

Code: Alles auswählen

SetKey( <nInkey>, [<bNewBlock>] ) --> bOldBlock 
wenn es das nicht treffen sollte bitte um ein Beispiel.

Re: SET FUNCTION und #command

Verfasst: Fr, 08. Aug 2014 18:43
von Werner_Bayern
sherlogg hat geschrieben:CH ja, aber wie kann ich dem Compiler sagen, dass er auch dort suchen soll, bevor er im .PRG auf SET FUNCTION stößt?
Servus Dieter,

die ch.datei am Anfang jeder prg mittels

Code: Alles auswählen

#include "xyz.ch"
einfügen lassen.

Re: SET FUNCTION und #command

Verfasst: Fr, 08. Aug 2014 18:48
von sherlogg
Hallo Jimmy,

danke für die Antwort. Es geht um Ersteres.

Nun kann ich ja diese Direktive in den Kopf der .PRG packen, in der auch die SET FUNCTION auftaucht oder sie in eine .CH packen. Aber da habe ich das Problem, dass ich nicht weiß, wie ich XPP sagen soll, dass die Direktive in der CH sitzt.

Re: SET FUNCTION und #command

Verfasst: Fr, 08. Aug 2014 18:50
von sherlogg
Hallo Werner,

ja, dass weiß ich. Aber was mich durcheinander bringt ist, dass ich ja die Option habe, die .CH in der .XPJ unterzubringen und dann müssen sie ja aus dem Kopf der .PRG (#include "XYZ.CH") raus, sonst kommt es beim compilieren zu Fehlern.

Gruß, Dieter

Re: SET FUNCTION und #command

Verfasst: Fr, 08. Aug 2014 19:05
von Jan
Dieter,

ich habe mir angewöhnt, für meine Projekte eine globale ch zu erstellen, die in jeder prg aufgeführt wird. Darein kommen alle include und pramga, die ich irgendwo im Programm brauche. Das macht erstens die prg übersichtlicher, und zweitens muß ich nicht ständig alle prg anfassen, wenn eine weitere ch oder pragma rein kommt. Im Prinzip müsste das auch mit command etc. funktionieren.

Jan

Re: SET FUNCTION und #command

Verfasst: Sa, 09. Aug 2014 10:47
von sherlogg
Hallo Jan,

dass mache ich in der Regel auch so.

Aber die Möglichkeit CH-Files direkt in einer project.xpj einzutragen impliziert, dass Einträge von .CH im PRG (also auf diesem Weg: #include "XYZ.CH") nicht mehr nötig sind. Das scheint aber bei der Verwendung von Direktiven in einer .CH nicht zu funktionieren.

Gruß, Dieter

Re: SET FUNCTION und #command

Verfasst: Sa, 09. Aug 2014 11:01
von brandelh
sherlogg hat geschrieben: Aber die Möglichkeit CH-Files direkt in einer project.xpj einzutragen impliziert, dass Einträge von .CH im PRG (also auf diesem Weg: #include "XYZ.CH") nicht mehr nötig sind.
Wo soll den das so stehen ?
Der "Eintrag" in der project.xpj steht im automatisch generierten Teil und bewirkt lediglich, dass bei einer Ändererung einer CH Datei auch die PRG Dateien kompiliert werden.
OHNE den Eintrag würde sich eine Änderunge erst bei der nächsten kompletten Compilierung auswirken.

Ohne INCLUDE wirkt eine CH Datei nicht !

Re: SET FUNCTION und #command

Verfasst: Sa, 09. Aug 2014 11:33
von Jan
Dieter,

ein ch in der xpj? Hab ich noch nie gehört, wo gibt es dazu eine Doku?

Jan

Re: SET FUNCTION und #command

Verfasst: Sa, 09. Aug 2014 13:01
von Manfred
Jan,

öhm, schau mal die ganzen Alaska Beispiele an. Oder lass mal eine XPJ Datei vom System erzeugen....

Re: SET FUNCTION und #command

Verfasst: Sa, 09. Aug 2014 13:09
von sherlogg
Hallo Zusammen!

Ok, Eure Antworten machen mir klar, dass ich das komplett fehl interpretiert habe. Ich bin mir aber relativ sicher, dass ich das irgendwo in einer XPJ von Alaska gesehen habe. Aber egal. Letztlich war ich ja auch schon soweit. Aber Hubert hat mir die Antwort geliefert.

Ihr habt es mir jetzt bestätigt.

Danke für Eure Mühe. Ich kämpfe mich weiter durch. Mühsam ernährt sich das Eichhörnchen, aber es wird langsam.

Gruß, Dieter

Re: SET FUNCTION und #command

Verfasst: Sa, 09. Aug 2014 13:29
von Jan
Hallo manfred,

huch! Du hast Recht, man kann eine ch in der xpj eintragen. Jetzt arbeite ich schon so lange damit, aber das hab ich immer übersehen.

Allerdings muß ich das man näher testen. Ich befürchte, daß das unter VX immer automatisch mit dem abgeglichen wird, was in den prg drin steht. Also aus der prg raus - VX haut das auch aus der xpj raus. Aber wie gesagt, erstmal weiter testen, sicher bin ich noch nicht.

Jan

Re: SET FUNCTION und #command

Verfasst: So, 10. Aug 2014 11:54
von brandelh
Jan hat geschrieben:Du hast Recht, man kann eine xpj in der xpj eintragen.
was soll das für einen Sinn machen und wo hat MANFRED das geschrieben ?
er schrieb eine xpj vom System erzeugen lassen.

Code: Alles auswählen

test.txt (Textdatei mit allen gewünschten PRG)
  Test.prg
  Test2.prg
#pragmas in PRG erklären nötige DLLs

Pbuild @test.txt

Pbuild /G