AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Pascal Project Manager & Editor

Pascal Project Manager & Editor

Ein Thema von Harry Stahl · begonnen am 13. Mär 2016 · letzter Beitrag vom 13. Nov 2023
Antwort Antwort
Seite 14 von 25   « Erste     4121314 151624     Letzte » 
Benutzerbild von Harry Stahl
Harry Stahl
Registriert seit: 2. Apr 2004
Der Pascal Project Manager & Editor dient dazu, seine eigenen Delphi- oder Lazarus-Programme zu verwalten, zu analysieren, Informationen und Source-Code zu finden und auch zu bearbeiten.

Es existiert eine Projekt-, Dokumentations- und Internetlink-Liste, wo man alle relevante Informationen zum Projekt oder zur Entwicklung von Pascal-Projekten insgesamt bündeln kann.

Von der Projekt-Seite aus kann das Projekt in der entsprechenden "richtigen" Delphi-Version geöffnet werden oder auch im eigenen Editor-Programm-Teil, wo man ähnliche Möglichkeiten wie in Delphi hat, um zu entsprechenden Units zu springen und relevante Informationen zu ermitteln, die man vielleicht bei der Entwicklung in einem anderen Projekt gerade braucht.

Dabei geht das viel schneller, als in Delphi das andere Projekt zu öffnen und wieder zurück zu kehren. Auch benötigt das Programm nur einen Bruchteil an Arbeitsspeicher im Vergleich zu Delphi (je nach Version nur 10%), um das entsprechende Projekt zu öffnen und zu durchsuchen.

Das Programm erkennt automatisch die für das Projekt verwendete Delphi-Version. Vom Editor aus kann die kompilierte Exe-Datei direkt gestartet werden bzw. in einigen Fällen bei Bedarf sogar direkt eine Kompilation über die DCC32.exe angestoßen werden.

Wozu ist das ganze gut:
  • Projekte, die oft über verschiedene Orte im System verstreut sind, können zentral und in einer durchdachten Gliederung erfasst werden.
  • Auch die Dokumentation zum den Projekten oder zu verwendeten Dritt-Komponenten kann logisch strukturiert erfasst werden, so dass man mit wenigen Klicks die benötigte Information hat.
  • Sehr hilfreich ist dabei auch, dass in allen Listen durch die Textfilterung es i.d.R. reicht nur wenige Buchstaben einzutippen und man sofort die gewünschte Information erhält (das gesuchte Projekt oder ein Dokument).
  • Man kann schnell in einem anderen Delphi-Projekt was nachsehen, ohne das aktuelle Projekt im geöffneten Delphi verlassen zu müssen
  • Anwender können Projektdateien und Formulare der neuesten Delphi-Version betrachten, auch wenn sie noch nicht die aktuellste Delphi-Version haben (nützlich für alle Forenmitglieder, die sich mal ein hochgeladenes aktuelles Beispielprojekt ansehen wollen!!!)
  • Anwender können sich Delphi-Projekte auch ansehen, wenn Sie gar kein Delphi auf dem gerade verwendeten PC/Notebook haben
  • Von den einzelnen Formularen können ganz einfach Screenshots erstellt werden
  • Programm erkennt automatisch, mit welcher Delphi-Version ein Projekt erstellt wurde
  • Projekte können somit nicht mit einer "falschen" Delphi-Version geöffnet werden, was ansonsten zu einer Reihe von Fehlermeldungen oder unterwünschten Veränderungen des Projekts führen könnte
  • Es können VCL- und FMX Projekte geöffnet werden
  • In vielen Fällen können VCL,FMX und LCL-Formulare angezeigt werden (bezogen auf Standard-Komponenten - Erweiterungen für die Anzeige von Drittkomponenten-Herstellern sind aber auch möglich über Plug-in-DLLs)
  • Bei FMX-Formularen können auch MAC, IOS oder Android-Stile der Formulare betrachtet werden (soweit der Entwickler solche erstellt hat)
  • der Text-Editor ist ein brauchbarer Source-Code-Editor, der Code-Folding, Auswahl von Sprungzielen über Prozedur-Dropdownlisten (ähnlich wie in Delphi selber), etc. verfügt

Vielleicht hat ja jemand mal Lust da rein zu schauen, wäre an einer Rückmeldung interessiert auch hinsichtlich Euren persönlichen Einschätzung hinsichtlich der Nützlichkeit eines solchen Programms (das ich je nach Zuspruch und Wünschen dann gerne auch erweitern würde).

Hier kann das Programm (uneingeschränkte Demo-Version) geladen werden:

http://www.hastasoft.de/Setup_PPME.exe

Nach dem Motto: "Ein Bild sagt mehr als tausend Worte" anliegend einige Screenshots und ein weiterer Link zu einem kurzen Video:

https://youtu.be/4Uhe5Nm65JE
Miniaturansicht angehängter Grafiken
ppme1.jpg   ppme2.jpg   ppme3.jpg  

Geändert von Harry Stahl ( 4. Apr 2016 um 01:20 Uhr) Grund: Grundlegende Änderungen hinsichtlich Programm-Name und Inhalt
 
jziersch

 
Delphi 10.4 Sydney
 
#131
  Alt 21. Apr 2020, 07:26
@Harry

Grossartig, es läuft viel weiter. Jetzt kommen auch lesbare Fehlermeldungen.

Mein grosses FMX Projekt konnte msbuild kompilieren und es wurde die Ausgabe Datei erstellt. Allerdings zeigt sich der Naschteil hier, da eben die Einstellungen des Projektes komplett verwendet werden und die EXE in dem dort eingestellten Verzeichnis erstellt wird. Das ist zwar oft gewünscht, aber nicht immer, gerade bei einem Projekt welches man schon ewig nicht mehr angefasst hat. Mir geht es darum ein Projekt so in PPM zu erfassen, dass es immer kompilierbar ist, mit den gespeicherten Pfaden etc, unabhängig von der IDE die evtl. bereits andere Komponenten verwendet. Es sieht so aus, als ob genau das kommt. Toll!

DCC, was mich daher insbesondere interessier lief auch ganz gut. Besonders zeigt sich dass hier alle units gelistet werden. Es ist die method um die Abhängigkeiten zu finden. Könnten die direkt so in das Projekt in PPM eingetragen werden? Ganz wichtig ist die DCC Pfade auch im Projekt abzuspeichern, also für später.

In meinem Fall kommt:

C:\....\unitname.pas(42) Schwerwiegend: F2613 Unit 'SysUtils' nicht gefunden.

Das problem war ein fehlender namespace. Keine grosse Sache.

Ich habe auch ein paar Symbole mit -D... als parameter hinzugefügt. Funktioniert insgesamt sehr gut.

Kannst Du bitte vielleicht einen Knopf auf deinem neuen Formular anbringen "Parameter in Projekt merken", sodass die Einstellungen, parameter und(!) Pfade genau wie verwendet für den nächsten Aufruf gespeichert werden. Dann wäre es perfekt, denke ich.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

 
Delphi 10.2 Tokyo Professional
 
#132
  Alt 21. Apr 2020, 08:36
Zitat von dummzeuch:

Edit:
Bei Delphi 2007 ist es ein wenig anders:

Code:
call "%DelphiPath%\bin\rsvars.bat"
msbuild myproject.dproj /target:rebuild /p:Configuration=debug
(also Configuration statt Config).
Ist das NUR bei Delphi 2007 so oder bei Delphi 2007 und allen älteren Versionen (also Delpi 2006, 2005 ,usw)?
Delphi < 2007 unterstützt soweit ich mich erinnere kein msbuild. Zumindest habe ich damals in den Build-Scripten für GExperts explizit dcc32 Aufrufe eingebaut, während alle neueren Versionen msbuild benutzen.


Compile from comandline im Delphi Wiki stimmt mir da zu (kein Wunder, die Seite habe ich damals selbst angelegt. )
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#133
  Alt 21. Apr 2020, 18:05
Und wenn z.B. "lange" Suchpfade mit rein sollen, dann besser der Weg über die CFG-Datei, also dort die "Parmerter" rein, denn all zu lang darf die Parameterliste des DCC nicht werden.
Danke für den Hinweis.

Was genau ist "nicht allzu lang" und wie verwendet man die .CFG-Datei (einfach da die Parameter rein, wie sonst in der Paramaterübergabe) und wie bindet man die .cfg-Datei ein?

Für MSBuild funktioniert bereits die einfache Wahl Release oder Debug. Wie wähle ich hier, ob ein 32-Bit oder 64-Bit Kompilat erzeugt wird?
Ich hoffe das beantwortet deine Frage:
Code:
msbuild.exe "Project.dproj" /target:Clean;Build /p:Platform=Win32 /p:config=Release
msbuild.exe "Project.dproj" /target:Clean;Build /p:Platform=Win64 /p:config=Release
Gerade eben erst gesehen. Ja danke, damit gehts...
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#134
  Alt 21. Apr 2020, 19:28
@Harry

Grossartig, es läuft viel weiter. Jetzt kommen auch lesbare Fehlermeldungen.

Mein grosses FMX Projekt konnte msbuild kompilieren und es wurde die Ausgabe Datei erstellt. Allerdings zeigt sich der Naschteil hier, da eben die Einstellungen des Projektes komplett verwendet werden und die EXE in dem dort eingestellten Verzeichnis erstellt wird. Das ist zwar oft gewünscht, aber nicht immer, gerade bei einem Projekt welches man schon ewig nicht mehr angefasst hat. Mir geht es darum ein Projekt so in PPM zu erfassen, dass es immer kompilierbar ist, mit den gespeicherten Pfaden etc, unabhängig von der IDE die evtl. bereits andere Komponenten verwendet. Es sieht so aus, als ob genau das kommt. Toll!

DCC, was mich daher insbesondere interessier lief auch ganz gut. Besonders zeigt sich dass hier alle units gelistet werden. Es ist die method um die Abhängigkeiten zu finden. Könnten die direkt so in das Projekt in PPM eingetragen werden? Ganz wichtig ist die DCC Pfade auch im Projekt abzuspeichern, also für später.

In meinem Fall kommt:

C:\....\unitname.pas(42) Schwerwiegend: F2613 Unit 'SysUtils' nicht gefunden.

Das problem war ein fehlender namespace. Keine grosse Sache.

Ich habe auch ein paar Symbole mit -D... als parameter hinzugefügt. Funktioniert insgesamt sehr gut.

Kannst Du bitte vielleicht einen Knopf auf deinem neuen Formular anbringen "Parameter in Projekt merken", sodass die Einstellungen, parameter und(!) Pfade genau wie verwendet für den nächsten Aufruf gespeichert werden. Dann wäre es perfekt, denke ich.
Habe die aktualisierte Version gerade hochgeladen, Dialog sieht nun so aus, wie in der Anlage. Pro Projekt wird nun eine Datei mit dem Namen der Projekt-Datei, aber Dateiendung '.pecs" (für PascalEditorCompilerSettings) in das Projektverzeichnis gespeichert.

In dieser Datei werden dann die Einstellungen für den Dialog gespeichert, man kann derzeit bis zu 25 unterschiedliche Compiler-Settings pro Projekt anlegen (kann ich erhöhen, falls das nicht reichen sollte).

Programm merkt sich auch die zuletzt verwendeten Settings und stellt diese dann wieder her, wenn man den Dialog erneut aufruft (ist ganz praktisch, wenn man mit den DCC-Paramentern ein wenig herumspielt).

Bezüglich MSBuild: Da lese ich nun aus der rsvars.bat das richtige Framework aus (ab Delphi 10.3 ja wohl Framework 4), so dass der entsprechende MSBuild-Compiler verwendet wird.
Miniaturansicht angehängter Grafiken
compiler3.jpg  
Harry Stahl
  Mit Zitat antworten Zitat
jziersch

 
Delphi 10.4 Sydney
 
#135
  Alt 30. Apr 2020, 09:46
Hallo Harry,

Hier noch etwas feedback zu aktuellen 3.23

1) Ich falle immer darauf ein, dass ein Doppelklick die IDE startet. Kann man das so konfigurieren, dass sich der PPME öffnet?

2) Die Kompilation mit msbuild ist erfolgreich. Allerdings wird die ausführbare Datei bei mir ganz woanders erstellt, eben wie im Projekt angegeben. Dort wird sie aber von PPME nicht gefunden.

3) Die Logik der Parameter Speicherung scheint mir nicht nicht ganz perfekt zu sein. Bei einem erneuten Öffnen von PPME sind die Einträge nicht mehr da.

4) Ein msbuild Lauf erzeugt bei mir


Compiling:
S:\MyProjects\....dproj

...

_PasCoreCompile:
C:\Delphi\DX13\bin\dcc64.exe -$D0 -$L- -$Y- --no-config ... MeinProjekt.dpr

Diese Zeile nach "_PasCoreCompile" beinhaltet alle Parameter und Suchpfade für eine direkte Ausführung des Dxx compilers. PME könnte diese Zeile auswerten und in die Konfiguration des Projektes aufnehmen. Damit kann DCC zu einem späteren Zeitraum direkt ausgeführt werden. Ich habe dies in einer BAT Datei gemacht, und es wurde anstandslos ein Projekt erzeugt.

Interessant wäre die Auswertung der Parameter
-ED:\xxxx AUSGABEVERZEICHNIS
-Ic:\Delphi\dx13\lib\Win64\re SUCHPFAD
-Rc:\Delphi\dx13\li Weiterer Suchpfad
-Uc:\Delphi\ Weiterer Suchpfad
-NU.\Win64\Release Die Units
-NSWinapi;System.Win;Data.Win;Datasnap Die namespaces

Ich habe probiert diese Werte manuell für den Aufruf von DCC einzutragen, nur leider hat das nicht geklappt, da es immer einen 32/64 bit Versionsfehler gab. Prinzipiell müsste es aber gehen, die BAT Datei funktioniert ja.

Wieso sich der Aufwand mit DCC lohnt:

1) Über DCC (und andere Dxxx) kann man ein Projekt immer kompilieren, sofern man die Parameter
archiviert hat, unabhängig von der aktuellen Konfiguration. Also auch nach Jahren, wenn man nur die Pfade nicht geändert hat.

2) Es lässt sich über --doc -NXpfad für jede source unit eine XML Datei generieren, dies kann helfen alle eingebundenen units zu finden. Die Haupt XML Datei des Projektes enthält alle eingebunden namespaces / units:

Code:
<namespace name="MeinProject" platform="Win64">
  <contains name="FMX.Filter.Effects" />
  <contains name="FMX.Filter.Standard" />
  <contains name="FMX.ComboTrackBar" />
  <contains name="FMX.ComboTrackBar.Style" />
was sich dazu anbietet, von PME ausgewertet zu werden.

Viele Grüsse,
Julian
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#136
  Alt 30. Apr 2020, 18:40
Hallo Harry,

Hier noch etwas feedback zu aktuellen 3.23

1) Ich falle immer darauf ein, dass ein Doppelklick die IDE startet. Kann man das so konfigurieren, dass sich der PPME öffnet?
Ich habe in der aktuellen Version 3.26 jetzt unter Extras, Optionen, Programmverhalten eine Option eingebaut, dass man wählen kann, was sich per Doppelklick öffnet (IDE oder Pascal Editor).

Hinweis: Dumzeuch hatte sich mal einen Modifier für das Starten per Returntaste gewünscht (gehaltene Shift-Taste öffnete dann den Pascal-Editor, statt IDE), was ich auch eingebaut hatte.

Wenn man nun den Doppelklick auf das Projekt als Standard so umstellt, dass sich der Pascal-Editor öffnet, hat Return+Shift-Taste nun den umgekehrten Effekt, öffnet dann also die IDE.

2) Die Kompilation mit msbuild ist erfolgreich. Allerdings wird die ausführbare Datei bei mir ganz woanders erstellt, eben wie im Projekt angegeben. Dort wird sie aber von PPME nicht gefunden.
Hatte ich schon in Version 3.25 verbessert, dass aus dem Projekt der Exe-Ausgabepfad ausgelesen wird und PE daher dort das Programm startet.

3) Die Logik der Parameter Speicherung scheint mir nicht nicht ganz perfekt zu sein. Bei einem erneuten Öffnen von PPME sind die Einträge nicht mehr da.
Die Einstellungen werden für jedes Projekt separat gespeichert (Projekt-Dateiname, Endung durch '.pecs' ersetzt). Wenn Du also ein anderes Projekt öffnest, gibt es dort erst mal keine Einträge.

Die anderen von Dir erwähnten Dinge sehe ich mir an und prüfe, was ich machen kann.

Die nächsten Dinge die auf dem Plan stehen, sind Direkt-Zip der Projekt-Dateien bzw. eine Dokumentationsfunktion (angelehnt an Documentation insight).
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#137
  Alt 5. Mai 2020, 20:07
Ich bin gerade dabei, die schon mal vor einiger Zeit angekündigte Dokumentations-Funktion einzubauen.

Dazu habe ich erst mal eine Möglichkeit geschaffen, die Parameter, die Delphi selber als XML-Dokumentations-Tags anbietet, wenn man Strg+J drückt, mit Hilfe eines kleinen Dialog-Fensters sehr viel einfacher eingeben oder ändern zu können, siehe anliegenden Screenshot.

XML-Parameter gibt es aber auch weitere, daher wollte ich mal hier die Frage stellen, ob man zusätzliche Parameter hier anbieten sollte (vgl: https://docs.microsoft.com/de-de/dot.../codedoc#param) oder reicht es im Prinzip so?

Weiterhin: Ich überlege, ob ich kurze Einträge statt mehrzeilig, einzeilig erfassen soll,

also statt:

/// <summary>
/// Looks for a special Message
/// </summary>

lieber so:

/// <summary>Looks for a special Message</summary>

Gibt es irgendwelche Tools, die damit nicht zurecht kommen oder andere Gründe diese 2. Variante nicht zu wählen? Immerhin nimmt diese nur eine Zeile weg.
Bei 3 unterschiedlichen XML-Tags mit kurzen Einträgen hätte man nur 3 statt 9 Zeilen...

Hinweis: Diese Funktion ist noch nicht in der Version auf meiner HP enthalten...
Miniaturansicht angehängter Grafiken
doc.jpg  
Harry Stahl

Geändert von Harry Stahl ( 5. Mai 2020 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#138
  Alt 17. Mai 2020, 20:31
Die Projekt-Dokumentations-Funktion ist zwar immer noch Beta, aber sehr weit fortgeschritten. Man kann mit der aktuellen Version 3.22 bereits umfangreiche HTML-Dokumentationen aus im Source befindlichen XMLDoc-tags generieren.

Ich habe mal ein kurzes Video zum aktuellen Stand gemacht, wer will kann gerne hier oder auf Youtube ein Feedback geben:

https://youtu.be/G_rmGixTlso

Ich denke, Dokumentation von Software ist oft unterschätzt und ich muss gestehen, dass ich als Einzelkämpfer in der Vergangenheit da zu nachlässig war. Aber ich merke schon jetzt wie hilfreich es ist, wenn allein nur schon kurze Beschreibungen von Units oder kurze Ablaufpläne den Durchblick in länger nicht bearbeitete Projekte immens erhöhen...
Miniaturansicht angehängter Grafiken
docu1.jpg   docu2.jpg  
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#139
  Alt 11. Okt 2020, 16:56
Hi, habe mal ein paar kleinere Erweiterungen in die Version 3.50 eingebaut und zwar eine Auswahl der Forms über einen erweiterten Dialog, der auch die Form-Images anzeigt und eine andere Darstellung des Object-Inspektors (siehe 2 screenshots in der Anlage).

Habe auch ein kleines Video dazu auf YouTube hochgeladen:

https://youtu.be/aEtFuKqFgBA
Miniaturansicht angehängter Grafiken
ppme1.png   ppme2.png  
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Gandalf2265
Gandalf2265

 
Delphi 11 Alexandria
 
#140
  Alt 11. Okt 2020, 20:05
Hallo Harry,

ich habe es gerade geladen und probiert. Super Sache!
Danke...
Thorsten Maxeiner
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz