Hauptprojekt mit untergeordneten Projekten koppeln?

Xbase++-IDE - Workbench, Visual Xbase

Moderator: Moderatoren

Antworten
DelUser01

Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Hallo

Ich müsste in der Workbench Projekte miteinander koppeln.
Habe einige Einzelprojekte welche eine oder mehrere DLLs erzeugen. Vereinfacht gesagt werden die Funktionen projektübergreifend "kreuz und quer" untereinander verwendet. Ich denke Ihr kennt das.
Unter anderem um debuggen können müsste die Workbench die Zusammenhänge kennen.
Z.B. könnte die Workbench alle eingetragenen Projekte als übergeordnetes Projekt selbst zusammenfassen. Und damit würde die Workbench alle PRGs usw. kennen und verwalten. Dann könnte das schon erledigt sein.

Vor einiger Zeit ging das nicht - vielleicht geht es inzwischen und ich habe die Info verpasst?

Bisher verwende ich die Workbench nur für kleine Tools/Testprogramme.
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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von Jan »

Roland,

wenn Du ein Programm debugst, dessen Code in einer per #pragma eingebauten dll ausführt, wird diese dll ebenfalls mit debuggt. Die entsprechende prg wird dann währnde des debuggens in der Workbench mit angezeigt.

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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von Manfred »

wird sie denn auch in der WB automatisch mit geladen in den Editor? In der VX ist das nicht der Fall. Da kommt erst rein, was auch per Einzelschrittmodus abgearbeitet wird.
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!!
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Hallo Jan

da mit #Pragma hbae ich noch nicht probiert.
Müsste ich da jede verwendete LIB inden Kopf jeder PRG eintragen?

Über #Include wäre das ja gar nicht so aufwendig.
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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von Jan »

Manfred,

nein, genau so.

Aber man kann natürlich eine dll als Target mit in ein Projekt einbinden. Das ging aber auch schon in der VX. Dann hat man immer alles zusammen.

Ich selber mach das aber teilweise auch, das ich enie einzelne prg in mehrere Projekte enibinde. Z. B. die dbesys oder errorsys. Die liegt dann nur an einer Stelle, aber wird von allen benötigten Projekten genutzt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von Jan »

Roland,

das mach ich eigntlich immer so: Alles was ich in einem Projekt so brauch wird in eine Projekt-ch eingebaut. Alle #include und alle #pragma. Dann muß ich nur diese eine Projekt-ch in alle prg einbauen, und hab immer alles automatisch dabei. Alles andere ist mir ehrlich gesagt viel zu mühsam und kompliziert.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Jan

so ähnlich habe ich das auch gemacht, nur bisher one die #Pragma.
Es hat halt bisher gereicht wenn die LIB+DLL usw. in der XPJ drin sind.
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Jan hat geschrieben:das ich enie einzelne prg in mehrere Projekte enibinde. Z. B. die dbesys oder errorsys. Die liegt dann nur an einer Stelle, aber wird von allen benötigten Projekten genutzt.
Genau um das ghet es mir. So gesehen müssten dann alle Inhalte von PRGs - bis auf die main.prg welche die EXE erstellen - als "Zentral" betrachtet werden.
Dann wüde das klappen - nicht nur im Kopf sondern auch mit der Workbench :-)
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Hallo Jan

zu den #Pragma in der hauptprojekt.ch:

Dann muss ich einfach alle LIB aus allen project.xpj in die hauptprojekt.ch kopieren?

Das klärt dann aber noch nicht Manfreds Zweifel daran, woher die Workbench dann z.B. beim Einzelschrittmodus die Quelldateien kennen soll.
Es sei denn dass in der LIB auch der PRG-Quelldateiname inkl. Pfad beim Compilieren eingetragen wird.
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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von AUGE_OHR »

hi,

ob man #Pragma verwendet oder die LIB im *.XPJ einbindet ist IMHO egal.
man sollte nur dafür sorgen das die LIB dann auch im "Zugriff" (SET LIB= ) ist.

Code: Alles auswählen

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

[C:\ALASKA\XPPW32\LIB\DXE.DLL]
    COMPILE_FLAGS = /dll:dynamic /n /q /w /o\OBJ\
// $START-AUTODEPEND
    C:\ALASKA\XPPW32\LIB\DXE.DEF
    ... hier die *.OBJ
// $STOP-AUTODEPEND
    D:\ALASKA\NATIVE\PROGRESS\DXE_PBAR.PRG
    ... weiter *.PRG mit Path
    OT4XB.LIB
das PROJECT.XPJ liegt im Source Directory und die DLL / LIB kommt bei mir zu den anderen Xbase++ Sachen.
gruss by OHR
Jimmy
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Hallo Jim,my
AUGE_OHR hat geschrieben:ob man #Pragma verwendet oder die LIB im *.XPJ einbindet ist IMHO egal
Das ist soweit ja OK und funktioniert.
Auf die herkömmliche Weise compilieren mit pbuild geht - ebenso mit der Workbench.

Nur die Workbench sieht eben nicht alle meine PRGs die in dem (beispielhaften) Hauptprojekt per LIB eingebunden sind. Die LIBs sind auch von mir, nur über andere Projekte erstellt.

Aber darum geht es mir ja: die Workbench soll auch dijenigen PRGs sehen und in den Editor laden können die in den Unterprojekten verteilt sind.
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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von AUGE_OHR »

Roland Gentner hat geschrieben:Aber darum geht es mir ja: die Workbench soll auch dijenigen PRGs sehen und in den Editor laden können die in den Unterprojekten verteilt sind.
hm ... du meinst jetzt auf der linken Seite im Project Fenster ...

beim Debuggen wird doch jedes PRG mit einem TAB geladen.
Dort hat man auch Zugriff auf "andere" PRG die aus einer eigenen LIB stammen.
leider speichert die Workbench den "Zustand" nicht ab (TABs mit den PRG, letzte Datei/Zeile)
gruss by OHR
Jimmy
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Also...

beispielsweise habe ich folgende Projekte:

Programmsammlung 1 - Sammlung 1:
c:\Xbase++\Sammlung1\project.xpj
c:\Xbase++\Sammlung1\druckvorschau.prg
-> c:\Xbase++\Exe\sammlung1.lib
-> c:\Xbase++\Exe\sammlung1.dll

Teilprojekt 1 - Adressen:
c:\Xbase++\Adressen\project.xpj (sammlung1.lib steht drin)
c:\Xbase++\Adressen\auswertung.prg
-> c:\Xbase++\Exe\adressen.lib
-> c:\Xbase++\Exe\adressen.dll
-> c:\Xbase++\Exe\adressen.exe


Hauptprojekt 1 - WWS:
c:\Xbase++\wws\project.xpj (sammlung1.dll + adressen.lib stehen drin)
c:\Xbase++\wws\rechnungen.prg
-> c:\Xbase++\Exe\wws.lib
-> c:\Xbase++\Exe\wws.dll
-> c:\Xbase++\Exe\wws.exe

Jedes Projekt für sich in die Workbench geladen funktioniert.
Lade ich das Teilprojekt Adressen komme ich nicht auf die PRGs der Sammlung 1.
Lade ich das Projekt WWS komme ich nicht auf die PRGs der Sammlung 1 oder Adressen.
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: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von AUGE_OHR »

OK ... ich sehe was du willst ...
du möchtest DLL "Module" haben die du einzel ausliefen kannst.
zum erstellen liegt in jedem Verzeichniss jeweils eine XPJ Datei.

nun weiss ich keine XPJ "Lösung" welche Workbench dazu bringt.
aber überlege mal eine andere "Work" Lösung ...

angenommen du hast 10 Verzeichnisse -> 11 x DLL/LIB !
du machst dir eine 11th "Work" DLL/LIB welche alles enthält ...
gruss by OHR
Jimmy
DelUser01

Re: Hauptprojekt mit untergeordneten Projekten koppeln?

Beitrag von DelUser01 »

Hallo Jimmy

das würde vermutlich schon gehen, alle project.xpj in einem neuen xpj zusammenzufassen.
Dann müsste ich immer aufpassen, dass ich Änderungen in den einzelnen xpj auch in der zusammengefassten xpj mache.
Das Ergebnis des Compilierens wäre vermutlich dasselbe wie bei den Einzelprojekten.
Nur könnte ich mir vorstellen, dass dann die einzelnen Teile (DLL/EXE) nicht mehr getrennt schnell compilierbar sind sondern immer nur die gesamte project.xpj. Und das wäre viel Zeugs und dauert lange.

Sollte es aber nicht anders gehen wäre es hier das Einfachste, wenn man sich dann ein Tool programmiert, welches das Zusammenkopieren der XPJs zu einer neuen project.xpj erledigt.
Das ist doch dann so eine übergeordnete Funktion welche ich in der Workbench suche.
Antworten

Zurück zu „Workbench (ab 2.0), VX (bis 1.9 SL1)“