SET FUNCTION und #command

Eigentlich ist mir die Frage peinlich, aber es kann sonst niemand helfen ... :)

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:

SET FUNCTION und #command

Beitrag 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
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: SET FUNCTION und #command

Beitrag 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.
gruss by OHR
Jimmy
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: SET FUNCTION und #command

Beitrag 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.
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: SET FUNCTION und #command

Beitrag 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.
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: SET FUNCTION und #command

Beitrag 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
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: SET FUNCTION und #command

Beitrag 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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige 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: SET FUNCTION und #command

Beitrag 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
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: SET FUNCTION und #command

Beitrag 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 !
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: SET FUNCTION und #command

Beitrag von Jan »

Dieter,

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

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

Re: SET FUNCTION und #command

Beitrag von Manfred »

Jan,

öhm, schau mal die ganzen Alaska Beispiele an. Oder lass mal eine XPJ Datei vom System erzeugen....
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
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: SET FUNCTION und #command

Beitrag 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
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: SET FUNCTION und #command

Beitrag 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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: SET FUNCTION und #command

Beitrag 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

Gruß
Hubert
Antworten