Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Probleme beim Umstieg (2)

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 17464
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme beim Umstieg (2)

Beitrag von Manfred » Mo, 08. Jan 2018 18:43

Sorry, ich habe mich ans falsche Thema angeklemmt.
Mein Problem war die XPJ Datei. Das scheint aber jetzt durch Georgs Tipp mit dem TARGET_DIR behoben zu sein.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14195
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Probleme beim Umstieg (2)

Beitrag von brandelh » Di, 09. Jan 2018 6:42

Manfred hat geschrieben:
Di, 07. Nov 2017 13:32
weder .\obj noch ..\obj klappen
nur zur Vollständigkeit ".." ist das Verzeichnis ÜBER dem aktuellen, "." ist das aktuelle Verzeichnis.
Auf einem lokalen Rechner müssten beide zugreifbar sein, aber es kann auch sein, dass "..\" nicht zugreifbar ist (Rechteverwaltung), ".\..\" aber schon, bei WEB-Server CGI-Programmen ist das z.B. der Fall ;-)

Ansonsten, welcher TIPP zu TARGET_DIR (Verzeichnis in dem die EXE / DLL erzeugt wird) ?
Gruß
Hubert

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 17464
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme beim Umstieg (2)

Beitrag von Manfred » Di, 09. Jan 2018 6:50

Hi Hubert,
es wird (in meinem fall) einfach ins XPJ File

Code: Alles auswählen

TARGET_DIR lw:\verzeichnis\
eingetragen und dann klappt alles. Es muß kein PRG File nichts mehr angepasst werden. Der Compiler meckert nicht mehr über die INCLUDE Dateien usw., die er nicht findet und schreibt die OBJ Dateien auch da hin wo sie imer hingeschrieben wurden. Ich kann das alles gar nicht glauben, das es eigentlich so einfach ist umzustellen. Aber ich teste gerade die fertigen Ergebnisse auf einem Extra Rechner.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14195
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Probleme beim Umstieg (2)

Beitrag von brandelh » Di, 09. Jan 2018 7:42

Wenn ich mein Programm mit PBUILD aus der CMD Zeile compiliere läuft alles sauber durch.
Aus der Workbench jedoch meckert er, dass diese CH fehlt:

#include "ANW_ALLG.CH"

die ist aber natürlich als Datei im PRG Verzeichnis enthalten.

#include ".\ANW_ALLG.CH"

hilft auch nicht, in der Workbench kann man scheinbar aber die projekt.xpj gar nicht direkt ändern oder ?
Gruß
Hubert

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 17464
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme beim Umstieg (2)

Beitrag von Manfred » Di, 09. Jan 2018 7:54

Hubert,
es ist sehr wahrscheinlich bei mir etwas anders, als bei Dir. Ich habe meine Quellcodes woanders, als die fertige Exe. Die Quellcodes werden compiliert, die Obj Dateien kommen parallel zu den PRG in ein Verzeichnis, aber die Exe werden sofort in das Zielverzeichnis erzeugt, welches ganz woanders liegt. Das passiert, in dem in der XPJ Datei dieses Verzeichnis nebst Laufwerk angegeben wird. Das klappte bisher unter der 1.90x Version. Ab der 2er versucht der Compiler (wenn ich das XPJ File nicht anpasse) das OBJ Verzeichnis im Zielverzeichnis der Exe anzulegen und nimmt alle relativen Angaben aus der XPJ zum Zielverzeichnis. Das bringt dann Probleme, die ich anfangs (Armin in einem anderen thread auch) erwähne. Wenn ich nun TARGET_DIR einfüge und da dann das Zielverzeichnis der EXE eintrage, dann klappt alles wie gewohnt von er 1.90er Version auch mit der 2.0 Version. Der parameter ist neu seit der 2er Version. Da ich aber zu faul/tranig zum Lesen war.......
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2366
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: Probleme beim Umstieg (2)

Beitrag von Wolfgang Ciriack » Di, 09. Jan 2018 7:57

Rechte Maustaste, zeige XPJ-Datei, dann über Datei Speichern. Ist aber sehr umständlich.
Viele Grüße
Wolfgang

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11055
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Probleme beim Umstieg (2)

Beitrag von AUGE_OHR » Di, 09. Jan 2018 8:08

moin,

ich verwende die Linker Option OBJ_DIR zusammen mit der Compiler Option /o\OBJ\

Code: Alles auswählen

[PROJECT]
    COMPILE_FLAGS = -q -w /o\OBJ\
    OBJ_DIR       = .\OBJ
    ...

[PROJECT.XPJ]
    C:\ALASKA\XPPW32\LIB\DXE.DLL

[C:\ALASKA\XPPW32\LIB\DXE.DLL]
    COMPILE_FLAGS = /dll:dynamic /n /q /w /o\OBJ\ /DDC2012 /DUSEOW
// $START-AUTODEPEND
    DXE_2012.RES
    DXEINIT.OBJ
    DXE_BMP.OBJ
   ---
// $STOP-AUTODEPEND
    DXE_2012.ARC
    DXEINIT.PRG
    D:\ALASKA\NATIVE\DXE\DXE_BMP.PRG
    ...
gruss by OHR
Jimmy

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 17464
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme beim Umstieg (2)

Beitrag von Manfred » Di, 09. Jan 2018 8:14

Jimmy,
unter Xbase 2.0 und der Workbench?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11055
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Probleme beim Umstieg (2)

Beitrag von AUGE_OHR » Di, 09. Jan 2018 8:25

hatte ich von der v2.0.257 "alpha" wo ich Probleme mit RAMdisk und OBJ_DIR hatte.

der Compiler wollte die nicht auf die RAMdisk schreiben.
erst mit der Compiler Option /o ging es mit der v2.0.257
gruss by OHR
Jimmy

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14195
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Probleme beim Umstieg (2)

Beitrag von brandelh » Di, 09. Jan 2018 8:54

brandelh hat geschrieben:
Di, 09. Jan 2018 7:42
Wenn ich mein Programm mit PBUILD aus der CMD Zeile compiliere läuft alles sauber durch.
Aus der Workbench jedoch meckert er, dass diese CH fehlt:

#include "ANW_ALLG.CH"

die ist aber natürlich als Datei im PRG Verzeichnis enthalten.

#include ".\ANW_ALLG.CH"

hilft auch nicht, in der Workbench kann man scheinbar aber die projekt.xpj gar nicht direkt ändern oder ?
nachdem ich alle diese Zeilen mit ".\" in allen PRG getauscht habe, ist diese Fehlermeldung weg (hätte ich gleich drauf kommen können).
Danach musste ich noch unter "Werkzeuge \ Umgebungs Optionen \ Verzeichnisse" die LIB und CH anpassen, denn OT4XB soll ja nicht mehr in die Standardverzeichnisse.
Nun kompiliert er ... aber die EXE (im PRG Verzeichnis) startet dennoch nicht aus der Workbench.
Gruß
Hubert

Benutzeravatar
Roland Gentner
Programmier-Gott
Programmier-Gott
Beiträge: 1168
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim
Kontaktdaten:

Re: Probleme beim Umstieg (2)

Beitrag von Roland Gentner » Di, 09. Jan 2018 9:51

Hallo Manfred,

das mit den Pfaden hatte mir bei der Umstellung auch einiges an Kopfzerbrechen bereitet.
Ich arbeite noch immer ohne Workbench, da ich bzw. Alaska noch keine Lösung dafür habe/hat wie meine querverbundenen Projekte in der Workbench verarbeitet werden können.

Mit TARGET_DIR werden nicht alle erzeugten Files dorthin umgeleitet.
DEF, EXP, LIB bleiben auch in dem Verzeichnis liegen in welchem kompiliert wird.
Die kopiere ich dann am Ende per BAT ins TARGET_DIR, sonst läufts nicht rund.
Da die DEF, EXP, LIB im weiteren Verlauf nicht im TARGET_DIR gesucht werden müssen diese auch im ursprünglichen Verzeichnis bleiben, die habe ich also doppelt.
Vielleicht gibt es aber auch schon eine Verbesserung und ich habe das noch nicht gefunden...

Beispiel:

Code: Alles auswählen

[PROJECT]
    DEBUG         = yes
    OBJ_FORMAT    = COFF
    POST_BUILD    = ..\batch\post_build.bat
    VERSION       = 2.2
    PROJECT.XPJ

[PROJECT.XPJ]
    GSG1WAA1.DLL
    GSG1B.DLL
    GSG1A.DLL
    GSG1D.DLL
    GSG1C.DLL
    GSG1.EXE
    GSX1.EXE

[GSG1.EXE]
    COMPILE       = xpp
    COMPILE_FLAGS = /q /m /n /dll:dynamic
    GUI           = yes
    LINKER        = alink
    LINK_FLAGS    = /pm:pm
    RC_COMPILE    = arc
    RC_FLAGS      = /v
    DEBUG_SAVE    = yes
    OBJ_DIR       = .\obj\
    TARGET_DIR    = ..\exe\
// $START-AUTODEPEND
    .\GSG1WAA1.lib
    .\GSG1B.lib
    .\GSG1A.lib
    .\GSG1D.lib
    sql.ch
    appevent.ch
    winnt.ch
    get.ch
    prompt.ch
    memvar.ch
    collat.ch
    std.ch
    gs.ch
    set.ch
    natmsg.ch
    .\GSG1C.lib
    G1.obj
// $STOP-AUTODEPEND
    ADSUTIL.LIB
    ASCOM10.LIB
    G1.RES
    GSC3.LIB
    GSG1A.LIB
    GSG1B.LIB
    GSG1C.LIB
    GSG1D.LIB
    GSG1WAA1.LIB
    GSH1.LIB
    GSLIB1A.LIB
    GSLIB1B.LIB
    GSLIB1C.LIB
    GSLIB1D.LIB
    GSLIB2A.LIB
    GSLIB3A.LIB
    GSLIBDEV1A.LIB
    GSR4.LIB
    ot4xb.lib
    WS1LIB1.LIB
    PRG\G1.PRG
Gruß
Roland

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 17464
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Probleme beim Umstieg (2)

Beitrag von Manfred » Di, 09. Jan 2018 10:19

so sieht eine XPJ jetzt aus und damit klappt es

Code: Alles auswählen

[PROJECT]
    DEBUG         = yes
    VERSION       = 2.2
    fahrdienstverwaltung.XPJ

[fahrdienstverwaltung.XPJ]
    fahrdienstverwaltung.exe

[fahrdienstverwaltung.exe]
    COMPILE       = xpp
    COMPILE_FLAGS = /wi /wu /q /w
    DEBUG_SAVE    = yes
    GUI           = yes
    LINKER        = alink
    LINK_FLAGS    = 
    RC_COMPILE    = arc
    RC_FLAGS      = /v
    OBJ_DIR       = obj\
    TARGET_DIR    = z:\projekte\verkehrsbetriebe\fahrdienstverwaltung\programm\   <---------- das ist wichtig. dann klappt es auch mit der Nachbarin.
    PRE_BUILD     = - del obj\*.obj                                                                             <---------- das wird sonst in das verzeichnis geschrieben in das die EXE kommt.
    PRE_BUILD     = - del z:\projekte\verkehrsbetriebe\fahrdienstverwaltung\programm\fahrdienstverwaltung.exe
// $START-AUTODEPEND
    fahrdienstverwaltung.res
    ablaufendegueltigkeitenvt.obj
    csv_aktivefahrer.obj
    fahrdienstklassen.obj
    fahrdienstverwaltung.obj
    fahrervt.obj
    feiertagevt.obj
    ferienvt.obj
    firmenstamm.obj
    freizeitartenvt.obj
    gueltigkeitsbezeichnungen.obj
    importfahrplan.obj
    jahresabschluss.obj
    personalstatusvt.obj
    prgpara.obj
    reorganisation.obj
    stammdienstevt.obj
    stundenusicht.obj
    tagesdienste.obj
// $STOP-AUTODEPEND
    ..\..\zusaetze_gui\sys\dbesys_d.obj
    ..\..\zusaetze_gui\sys\dcappsys_d.obj
    ..\..\zusaetze_gui\sys\errorsys_d.obj
    ablaufendegueltigkeitenvt.prg
    csv_aktivefahrer.prg
    fahrdienstklassen.prg
    fahrdienstverwaltung.prg
    fahrervt.prg
    feiertagevt.prg
    ferienvt.prg
    firmenstamm.prg
    freizeitartenvt.prg
    gueltigkeitsbezeichnungen.prg
    importfahrplan.prg
    jahresabschluss.prg
    personalstatusvt.prg
    prgpara.prg
    reorganisation.prg
    stammdienstevt.prg
    stundenusicht.prg
    tagesdienste.prg

Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Antworten