Preprozessor

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Preprozessor

Beitrag von Rudolf »

Hallo, hat jemand eine Ahnung ob es eine Möglichkeit gibt den Preprozessor zur Laufzeit zu verwenden ? Ich würde gerne ein Template für einen Dialog aus einem Textfile einlesen und dabei konvertieren.
Grüße
Rudolf
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Preprozessor

Beitrag von georg »

Hallo, Rudolf -


schaue Dir doch mal LivePP.exe im Bin-Verzeichnis (ich nutze noch die 1.90.355) an. Das könnte eventuell sein, was Du suchst. Ob Du das Programm mit Deinem Programm ausliefern darfst, das kann ich Dir leider nicht sagen.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Preprozessor

Beitrag von Rudolf »

Hallo Georg,
die Datei habe ich leider nicht, benutze auch die letzte 1.9er. Ich denke das macht die XppPp.dll. In eXpress++ gibt es einen Interpreter, der dürfte die DLL auch nutzen, hab aber noch nicht herausgefunden wie.
Grüße
Rudolf
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: Preprozessor

Beitrag von brandelh »

der Macro Compiler übersetzt code TEXT in Code, aber um dabei einen "Präprozessor" zu nutzen, müsste der ja Zugriff auf alle nötigen CH Dateien bzw. Translate Anweisungen haben.
Ich kann mir nicht vorstellen wie das gehen soll.
Gruß
Hubert
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Preprozessor

Beitrag von Rudolf »

Hallo Hubert,
eXpress++ kann es, z.B. im XDOT, der Interpreter benötigt dazu auch die Dcstd.ch und dcdialog.ch im Programmverzeichnis, also nutzt Roger diese auch. Ich will nur aus einem eXpress++ Dialog in einem File (Template) ein Getlist Array nach dem Interpretieren im Programm erhalten.
Grüße
Rudolf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Preprozessor

Beitrag von Tom »

Hallo, Rudolf.

Die Magie steckt in _DCPRE.PRG in ..\SOURCE\DCLIP1. Dort siehst Du, welche DLLs verfügbar sein müssen (XPPPP.DLL). Außerdem benötigt die DLL die .CH-Dateien, die Du verwenden willst (DCDIALOG.CH ohnehin, möglicherweise aber auch andere). Du kannst die Funktionen m.E. direkt verwenden. Ich habe das mal gemacht, vor Jahren, finde aber gerade den Code nicht.
Herzlich,
Tom
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Preprozessor

Beitrag von Rudolf »

Hallo Tom,
danke, das schaut schon ganz gut aus, DC_PREPROS() dürfte jeweils eine Zeile interpretieren.
Grüße
Rudolf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Preprozessor

Beitrag von Tom »

Hallo, Rudolf.

So isses. Habe gerade den Code gefunden.
Herzlich,
Tom
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Preprozessor

Beitrag von Rudolf »

Hallo Tom, interpretierst Du ein File oder nur Zeilen ?
Grüße
Rudolf
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Preprozessor

Beitrag von Rudolf »

Hallo,
das benötige ich:

Code: Alles auswählen

function xtest()
******************************************************************
local aParam := {1,"test","test2"}
dcqdebug dcc_interpret(memoread("testi.prg"),aParam)
return .t.
und das steht in testi.prg:

Code: Alles auswählen

parameters nUser,cUserName,cUserName2
@   1,1 dcsay "ID"         get nUser      pict "99999" saysize 10
@   2,1 dcsay "Name"       get cUserName  pict "@S30"  saysize 10
@   3,1 dcsay "Vorname"    get cUserName2 pict "@S30"  saysize 10
dcread 
Mit dc_interpret() erhalte ich beim ersten Aufruf immer einen Fehler dass eine der benötigten Include Dateien fehlt, sind aber alle da, auch die xppPp.dll. Ab dem zweiten Aufruf kommt die Meldung nicht mehr.
Es kommt aber für jede Programmzeile eine Fehlermeldung "Syntax error". Also irgendetwas stimmt nicht.
Grüße
Rudolf
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Preprozessor

Beitrag von Rudolf »

Hallo,
habs gefunden man muss die include Dateien angeben, Test geht also weiter ;-)
Grüße
Rudolf
Antworten