pre_build bei DLL Erzeugung

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

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

pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 14:25

Hi,
kann mir jemand erklären, warum das hier nicht klappt? Da wo HIER steht. Erklärung dazu unten

Code: Alles auswählen

[PROJECT]
    VERSION       = 2.2
    mk_zusaetze.xpj

[mk_zusaetze.xpj]
    mk_zusaetze.dll

[mk_zusaetze.dll]
    COMPILE       = xpp
    COMPILE_FLAGS = /DLL /wi /wu /w 
    DEBUG         = yes
    GUI           = yes
    LINKER        = alink
    LINK_FLAGS    = /dll 
    RC_COMPILE    = arc
    RC_FLAGS      = /v
    OBJ_DIR       = obj\
    //PRE_BUILD     = del obj\*.obj  <-------- HIER
    POST_BUILD    = copy_dll.bat
// $START-AUTODEPEND
    browserklasse.obj
    classparameter.obj
    dialogklasse.obj
    ftptransfer.obj
    funktionen.obj
    managerdaten.obj
    mk_dialog.obj
    mk_print.obj
    progressbarklasse.obj
    protokollklasse.obj
    pruefklasse.obj
    standarddbklassen.obj
    standarddbstrukturen.obj
    windowsmenu.obj
    xbFTP.obj
    XbpFormattedLabel.obj
    XbpProgressBar.obj
    zusaetze.obj
// $STOP-AUTODEPEND
    browserklasse.prg
    classparameter.prg
    dialogklasse.prg
    ftptransfer.prg
    funktionen.prg
    managerdaten.prg
    mk_dialog.prg
    mk_print.prg
    progressbarklasse.prg
    protokollklasse.prg
    pruefklasse.prg
    standarddbklassen.prg
    standarddbstrukturen.prg
    windowsmenu.prg
    xbFTP.prg
    XbpFormattedLabel.prg
    XbpProgressBar.prg
    zusaetze.prg

wenn ich das freigebe, wird zwar gelöscht, aber die WB meckert, dass sie die OBJ Dataien nicht findet. Leere ich das Verzeichnis von Hand vorher, dann klappt alles.
Normale Projektdateien klappen mit diesem Befehl.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1909
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Herbert » Fr, 13. Apr 2018 14:35

Lass doch das einfach weg. Die .Obj werden bei der Neuerstellung eh alle überschrieben.
Grüsse Herbert
Immer in Bewegung...

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

Re: pre_build bei DLL Erzeugung

Beitrag von brandelh » Fr, 13. Apr 2018 14:56

Herbert,

nur wenn die jeweilige PRG seit der letzten Compilierung neu gespeichert wurden.

Manfred,

wenn es normalerweise funktioniert, bei der DLL aber nicht, liegt vermutlich ein Bug vor. :arrow: Alaska ;-)

Ich selbst nutze CMD Dateien für das Endprodukt, die räumen auf (vorher nachher), und schalten per Schalter Debug ab und mit /a wird auf jeden Fall alles erzeugt.
Verschieben könnten die auch.
Gruß
Hubert

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 15:06

ich habe das jetzt mal als Anfrage an Alaska geschickt. ich dachte nur ich hätte wieder mal was übersehen...
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13072
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Jan » Fr, 13. Apr 2018 15:06

Manfred,

was ist der Unterschied zwischen Deinem Beispiel und einer "normalen Projektdatei", in der das funktioniert?

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: 18038
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 15:08

ich denke mal nur, das einmal eine DLL und einmal eine EXE erzeugt wird!?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Martin Altmann » Fr, 13. Apr 2018 15:23

Ich verstehe den Sinn nicht!
Warum sollte ich ein PRE_BUILD zum Löschen der .obj-Dateien verwenden, wenn ich das auch mit einem /a bei den COMPILE_FLAGS hinbekomme.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 15:36

ganz einfach Martin,
ich möchte das IMMER alle obj Dateien neu erzeugt werden bei einem Aufruf und das ist so gegeben. Nehme ich den Parameter /a, dann ist das nicht der Fall.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13072
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Jan » Fr, 13. Apr 2018 15:49

Martin Altmann hat geschrieben:
Fr, 13. Apr 2018 15:23
Warum sollte ich ein PRE_BUILD zum Löschen der .obj-Dateien verwenden, wenn ich das auch mit einem /a bei den COMPILE_FLAGS hinbekomme.
"/a"? Das deklariert privates, publics, und parameters als MEMVAR. Was hat das mit dem löschen von obj zu tun?

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: 18038
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 15:51

Jan, you are on the Woodway.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: pre_build bei DLL Erzeugung

Beitrag von brandelh » Fr, 13. Apr 2018 15:56

Manfred, warum soll der Compiler Schalter /a nicht alles neu machen ?

Steht doch so im Handbuch und nutze ich auch (ohne jetzt tatsächlich es geprüft zu haben), wobei ja die OBJ werden in der CMD auch vorher gelöscht bei mir ;-)
Gruß
Hubert

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 15:58

Hubert?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13072
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Jan » Fr, 13. Apr 2018 16:12

Manfred,

wieso? Ich habe extra vorher in der Doku nach den Compiler-Flags nachgesehen, wie Martin das angegeben hatte.

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: 18038
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 16:17

Code: Alles auswählen

The switch /a causes the ProjectBuilder to perform a complete compile and link cycle for all sources of a project. 
         This rebuilds an entire project regardless of whether or not source files have been changed since the last update of the project. 
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 16:20

halt stop, wir reden aneinander vorbei. Du hast Recht, mit den Compiler Flags, Martin meint den Builder Parameter. Der kommt aber irgendwo anders hin. ist mir gerade aufgefallen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 16:25

stimmt. Wo wird denn dann der Projektparameter angepeppt, wenn man über die WB kompiliert?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Martin Altmann » Fr, 13. Apr 2018 17:48

Jan,
ich meinte natürlich den Schalter für pbuild (Kommandozeile, nicht in der .xpj-Datei!).
Manfred,
selbstverständlich macht ein pbuild /a alles neu! Wenn nicht, hast du ein Problem im Filesystem (z.B. ein Erstellungszeitpunkt der vorhandenen .obj-Dateien in der Zukunft)!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Fr, 13. Apr 2018 17:51

jaja, ich hatte den Builderschalter im kopf, habe aber den Compilerschalter in der Projektdatei angegeben. Dann kann das nicht klappen.
Ist aber unwichtig, solange ich das nicht über die WB starten kann mit den Builder Schaltern.
Wenn ich das über eine Batchdatei aufrufe und dann /a dahintersschreibe, dann ist das so. Es wird alles neu gemacht. Kommt aber nicht immer für mich in Frage. Aber trotzdem gut zu wissen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » So, 22. Apr 2018 17:59

Puh,
und ich dachte schon ich wäre neben der Spur.

Antwort von Alaska
Wir müssen feststellen, dass das PRE_BUILD Kommand ausgeführt wird nachdem intermediate Dateien erzeugt werden und bevor das Binary gelinkt wird. Wir haben PDR 7009 verfasst:

http://www.alaska-software.com/scripts/ ... PDRID=7009

Dürfen wir wissen, warum Sie die Objektdateien löschen? Das entspricht doch genau der Funktion von "pbuild -a" oder "pbuild -c, dann pbuild".

Bitte beachten Sie auch die defines INTERMEDIATE_DEBUG und INTERMEDIATE_RELEASE die wir unlängst pbuild hinzugefügt haben.
kennt einer von euch die Defines?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

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

Re: pre_build bei DLL Erzeugung

Beitrag von brandelh » So, 22. Apr 2018 23:26

die Werte habe ich in einer neuen XPJ gesehen, dort wird wohl jeweils ein Verzeichnis für debug und release obj angelegt.
Gruß
Hubert

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1539
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: pre_build bei DLL Erzeugung

Beitrag von Werner_Bayern » So, 22. Apr 2018 23:27

Servus Manfred,

ja, die Defines stehen in der Hilfe.
INTERMEDIATE_DEBUG= Specifies the location of the intermediate files such as OBJ and RES files for debug builds. If this definition is specified, OBJ_DIR is ignored.

INTERMEDIATE_RELEASE= Specifies the location of the intermediate files such as OBJ and RES files for non-debug/release builds. If this definition is specified, OBJ_DIR is ignored.
es grüßt euch

Werner

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

Re: pre_build bei DLL Erzeugung

Beitrag von Manfred » Mo, 23. Apr 2018 7:37

Hallo Werner,
da hatte ich gestern nachgeschaut. Fand sie aber nicht. (Will aber auch nichts heißen)
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13072
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von Jan » Mo, 23. Apr 2018 8:20

Bei neuen Projekten werden die beiden Defines automatisch in die xpj eingefügt. Bei alten muß man das manuell machen. Die sind irgendwann vor einem dreiviertel Jahr oder so mal eingeführt worden. Seitdem arbeite ich nicht mehr mit meinen eigenen Objekt-Verzeichnissen, die ich früher immer benutzt hatte um halbwegs Ordnung zu schaffen.

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: 14546
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: pre_build bei DLL Erzeugung

Beitrag von brandelh » Mo, 23. Apr 2018 9:07

Manfred hat geschrieben:
Mo, 23. Apr 2018 7:37
Hallo Werner,
da hatte ich gestern nachgeschaut. Fand sie aber nicht. (Will aber auch nichts heißen)
wenn ich das richtig gelesen habe sind die seit 2.00.807 enthalten und werden erklärt unter: The [PROJECT] section in an XPJ file
Ist da der Name "defines" überhaupt richtig ?
Ich hätte "defines" immer im Quellcode gesucht ;-)
Gruß
Hubert

Antworten