|
Antwort |
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:
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
https://www.hastasoft.de * FMX-Buch zu Delphi 10.2 * FireMonkey-Blog * Embarcadero MVP
YouTube FMX-RAD++ Geändert von Harry Stahl ( 4. Apr 2016 um 01:20 Uhr) Grund: Grundlegende Änderungen hinsichtlich Programm-Name und Inhalt |
Delphi 11 Alexandria |
#2
Bislang gab es hier in der DP zwar noch kein Feedback zur Programmvorstellung, allerdings haben sich einige Dutzend Entwickler das Video angesehen und per privater Mail gab es positive Rückmeldungen.
Ich habe an dem Programm ein wenig weiter gearbeitet und möchte daher kurz über die erfolgten Änderungen berichten: * Programm öffnet nun nicht nur VCL- und FMX-Projekte, sondern auch LCL-Projekte (Lazarus) * Anzeige von Lazarus-Formen (natürlich auch eingeschränkt) * Optimierungen der Auswahl von Prozedur - Sprungzielen. * Öffnen von mehreren Instanzen und somit mehreren Projekten * Eine Reihe von kleineren Optimierungen und Korrekturen. Mir war die Erweiterung für die Anzeige von Lazarus-Projekten eine große Hilfe, da ich aktuell ein Lazarus 0.9.2.8-Projekt auf die Lazarus-Version 1.26 umgestellt habe (1.26 ist zwar nicht die neueste Version, läuft bei mir aber auf allen Plattformen - also Windows, MAC und Linux-Varianten - perfekt). Da ich das Programm (PC-Adreßzz!) nun netzwerkfähig auch in der MAC- und Linux-Version gemacht habe, benötigte ich hier Informationen und Source-Code aus einem anderen Lazarus-Projekt, wo ich die Netzwerkfähigkeit schon ergänzt hatte, aber auch Informatioen und Source-Code aus dem Windows-Server-Programm (PC-Adreßzz! Server). Das war u.a. auch deswegen eine große Hilfe, weil die aktuellen Lazarus-Versionen (neueste = 1.6) die Projekte von vor Lazarus Version 1 z.T. nicht mehr anzeigen. So war es äußert praktisch, mal kurz ein Delphi-Projekt oder ein Lazarus-Projekt in meinem Editor zu öffnen und den benötigten Source in das Lazarus-Projekt zu übernehmen (man braucht halt auch oft nicht eine ganze Form, sondern Teile, die sich in anderen (Delphi- oder Lazarus-)Projekten fortentwickelt haben. Auch hierzu anliegend ein Screenshot und ein ganz kurzes Video: https://youtu.be/YmWOz3c4zaE
Harry Stahl
|
Zitat |
Delphi 11 Alexandria |
#3
Ich habe sowohl Programm-Name als auch Programm-Konzept grundlegend überarbeitet, die Ausgangsbeschreibung in Beitrag 1 wurde daher entsprechend angepasst.
Gerade bei fortschreitender Entwicklung des Editor-Programms hat sich gezeigt, dass es wenig Sinn macht, die Erweiterungen in ein bestehendes Programm einzubauen, da wird man der Sache nicht mit gerecht. Das Editor-Programm wird daher wieder ein einfaches Editor-Programm, Ersatzweise gibt es dafür ein ganz neues Programm, eben den "Pascal Project Manager & Editor", wo gerade in Zukunft auch ein Schwerpunkt in die Organisation und Verwaltung der Pascal-Projekte gelegt werden wird (z.B. Umzug in andere Verzeichnisse, automatisch Anpassung für die Nutzung in anderen Delphi-Versionen, etc.). Kunden, welche bereits die erweiterte Editor-Version gekauft hatten, erhalten innerhalb der nächsten Tage die neue Registriernummer für den Pascal Project Manager per Mail übermittelt und den Zugang zur Kunden-Seite, wo man den Source-Code laden kann, um die "DLL-Class-Factory" zu erstellen, mit deren Hilfe man auch Dritthersteller-Komponenten bzw. eigene in der Formularansicht des Programms anzeigen kann. Hier schon mal der Link zum Video (https://youtu.be/4Uhe5Nm65JE), eine richtige Seite auf meiner Homepage werde ich morgen Abend aufsetzen, da gibt es dort dann noch weitere Informationen.
Harry Stahl
|
Zitat |
Delphi 11 Alexandria |
#4
Dann mal ein wenig Feedback, wenn sich sonst niemand meldet...
Erst einmal Fehler:
Sebastian Jänicke
|
Zitat |
Online
Delphi 11 Alexandria |
#5
Ich brauche es zwar nicht, weil ich nur noch 1 Projekt mit Delphi bearbeite, aber beeindruckend ist das schon.
Besonders die Auflistung obsoleter Projektbestandteile ist schon nützlich. Ist das alles selbst neu umgesetzt (kann ich mir gar nicht vorstellen) oder nutzt Du IDE-Schnittstellen oder so? |
Zitat |
Delphi 11 Alexandria |
#6
Dann mal ein wenig Feedback, wenn sich sonst niemand meldet...
Erst einmal Fehler:
Beim Start der Anwendung sieht es so aus als sei ein MDI-Child aktiv, aber wenn ich auf den Child-Schließen Button oben rechts drücke, verschwindet der und es erscheint folgende Meldung: --------------------------- Pascal Project Manager --------------------------- Untergeordnetes MDI-Formular kann nicht verborgen werden. --------------------------- OK --------------------------- der Text-Editor ist ein brauchbarer Source-Code-Editor, der Code-Folding
Dabei habe ich das Codefolding sogar für die DFM-Text-Ansicht aktiviert und optimiert. Delphi bietet ja leider kein Codefolding für die "Ansicht als Text" des Formulars an (nur ein Knoten). In meinem Editor kann man alle Objekte nach belieben ein- und ausblenden und - das ist SEHR nützlich - die textlichen Binärdaten der ImageList, Glyph usw. ausblenden (siehe grün markierte Bereiche im anliegenden Screenshot). Das ist nämlich sehr lästig, wenn man ansonsten Seitenweise scrollen muss, bis man wieder an interessante Einträge kommt... Kann es sein, dass Du das mit den negativen Koordinaten unsichtbar machen wolltest? Leider sind die Koordinaten aber auch negativ, wenn der primäre Monitor rechts und weitere links sind. [/LIST]
Ansonsten funktioniert der Editor wirklich gut. Ein paar Vorschläge hätte ich aber:
[*]Mit Pfeil hoch und runter sollte man in der Prozedurliste die Prozeduren auswählen können. So muss man immer zur Maus greifen.
[*]Ohne jetzt hier Werbung machen zu wollen, aber ein Objektinspektor mit Multiselect wie dieser wäre echt schön:
http://www.greatis.com/delphicb/objinsp/[*]Wie wäre es, wenn man MSBuild direkt auf das Projekt loslassen könnte?[/LIST] MSBuild: Werde ich mir ansehen, sollte ja auch integrierbar sein. Jedenfalls vielen Dank für die Rückmeldung. Werde jetzt schnell mal die Homepage aufsetzen und am Abend die aktualisierte Version des Programms hochladen (vielleicht kommen ja noch weitere Anregungen)
Harry Stahl
Geändert von Harry Stahl ( 4. Apr 2016 um 17:42 Uhr) |
Zitat |
Delphi 11 Alexandria |
#7
Ich brauche es zwar nicht, weil ich nur noch 1 Projekt mit Delphi bearbeite, aber beeindruckend ist das schon.
Besonders die Auflistung obsoleter Projektbestandteile ist schon nützlich. Ist das alles selbst neu umgesetzt (kann ich mir gar nicht vorstellen) oder nutzt Du IDE-Schnittstellen oder so? Was meinst Du mit "neu umgesetzt"? Ich verwende hier für den Editor das TAdvMemo von TMS, alles andere drum herum habe ich selbst gemacht. "IDE-Schnittstellen" verwende ich nicht (weiß auch gar nicht, was das sein sollte). Ja, wenn man nur ein Projekt hat, wäre das Programm wohl der Overkill. Ich habe aktuell 23 aktive Projekte, davon entwickle ich einige für bis zu 6 Plattformen (Win, MAC, Linux, IOS, Android, WinCE) mit unterschiedlichen Delphi- und Lazarus-Versionen. Bei vielen Programmen bin ich schon über Versionen 5-8 hinaus, nicht selten wechselte mit der Programm-Version auch die Delphi-Version. Somit kommen hier weit über 200 Projekte zusammen, die auf unterschiedlichen Delphi (und Lazarus-) Versionen entwickelt wurden. Die meisten haben zwar den Satus "Archiv", allerdings benötigt man hin und wieder doch noch mal was daraus. Z.B. waren einige (wenige) Anwender nicht zufrieden mit dem Menüband-Modus in einem meiner Programme, so dass ich ein Normal-Menü und eine Einfach-Toolbar-Lösung wieder als Alternative eingebaut habe, die ich zwei Versionen vorher im Programm schon drin hatte. Da habe ich dann in dem Fall mit XE7 gearbeitet und mit meinem Programm mir Parallel dazu die Objekte und Source-Fragmente rüber gezogen. Das ist einfacher, als entweder mit einer 2. Delphi-Instanz oder einer anderen Delphi-Version das Projekt zu öffnen. Denn mal abgesehen vom Arbeitsspeicher, der dafür benötigt wird, hagelt es unter Umständen erst mal Fehlermeldungen, da ich auf dem PC entweder nicht mehr die Delphi-Version habe, mit dem das Programm entwickelt wurde, oder es fehlen Komponenten, dann kommt erst mal die Fehlermeldung-Orgie, das Komponenten nicht gefunden wurden, usw. In einigen Delphi-Version konvertiert Delphi dann das Projekt sogar direkt auf die aktuelle Delphi Version und speichert mit Sicherheitskopien der alten Version ab. Alles das brauche ich nicht, das kostet nur Zeit und Nerven, das will ich mir gerne ersparen (und könnte mir vorstellen, das einige Leute sehr genau wissen, was ich meine).
Harry Stahl
Geändert von Harry Stahl ( 4. Apr 2016 um 17:40 Uhr) |
Zitat |
Online
Delphi 11 Alexandria |
#8
Du hast ja schon einen recht erheblichen Teil der IDE redundant programmiert. Ich dachte, Du hättest vielleicht eine Art IDE-DLL verwendet, die die DFM-,PAS- und weiteren Dateien parst und strukturiert im Speicher bereit stellt.
Respekt, wenn Du das alles selbst umgesetzt hast. Das TAdvMemo scheint ja zumindest den Quelltext schon mal aufzubereiten. Aber da bleibt ja noch genug anderes übrig. |
Zitat |
Delphi 2010 Enterprise |
#9
Ich fand das interessant (Ordnungsmaßnahmen sind immer gut für mich ), also hab ich etwas mit einem Lazarus Projekt getestet. Das Programm macht einen sehr guten Eindruck! Die Interaktion mit dem DFM Teil habe ich allerdings nicht wirklich verfolgt, ist ja wohl für Lazarus noch ganz frisch.
Einfach mal so runtergetippt, was mir auffiel beim 1. Rundflug. Zusammenhang/Layout zwischen ausgewählter Datei (rechts neben Manager tab) und Darstellung in "Struktur" Browser erschließt sich nicht richtig. Beim Wechsel auf andere Dateien bleibt die Property/Event Darstellung "stehen", während der Objektbaum geleert wird. Objektbaum: Anzeige Objekt aktualisiert sich, Anzahl (Unter)Objekte nicht. (Layout wirkt so, als ob die Angaben zusammengehören) Hab ein Lazarus Example Projekt geöffnet, es wird zum Source Version 1.1 erkannt. Ob das dem Versionsstand des Beispiels entspricht, weiß ich nicht. In Programmverzeichnis wird allerdings eine Version 1.0 eingetragen, welche keiner der beiden installierten Versionen entspricht (1.4, 1.6rc leeres Editor Fenster schwebt irgendwo rum schließen von Fenstern: Fenster im Vordergrund wird nicht mit Tab Reiter synchronisiert. Klick auf (bereits aktiv) markiertes Tab bringt dann das Fenster nicht nach vorn Umgekehrt klick auf nicht aktives Manager Fenster im Vordergrund aktiviert nicht das Manager Tab Klick auf nicht aktives Tab bringt alles wieder in gerade. Schließen des Manager Fensters ergibt Dialog Pascal Project Manager x Untergeordnetes MDI Formular kann nicht verborgen werden. OK Klick auf Formular synchronisiert manchmal Objekte im Browser. Lesezeichen (Doppelclick oder Button) aktiviert entsprechendes Fenster nicht (bei gleiche Datei 2x geöffnet) und tut offenbar gar nichts, wenn zugehörige Datei nicht im Vordergrund ist, Highlight auf Lesezeichen, aber Cursor steht anderswo, komisch wenn man dann die Cursortasten nutzt, aber vielleicht gewollt? Ne oder? Lesezeichen scheinen insgesamt buggy zu sein, Lesezeichen in Readme.TXT wird gesetzt auf 9, aber löscht vorhandenes auf 1. Aufruf des LZ springt dann in PAS File, das vorher das Lesezeichen 1 hatte. Für DFM sind scheinbar keine vorgesehen. Eine durchgängige Lesezeichenansicht (Typunabhängig soweit wie möglich/sinnvoll) fänd ich allerdings cool in dieser Art Programm. Doppelclick im Projekt Browser vielleicht nur mit Nachfrage ausführen bzw. einstellbar mit NichtMehrFragen je Filetype oder so, sonst hat man unbeabsichtigt leicht doch so einen Trümmer gestartet und wartet nur darauf, es wieder zu schließen. Dann hab ich noch versucht, per DD ein PDF reinzuziehen. Das ist daran gescheitert, dass das Managerfenster nicht vorne war. Ich habs dann einfach auf einem PAS file losgelassen, dort wird nun etwas binary PDF COntent angezeigt. Falls Du Komponenten für PDF hast, fänd ich es cool, wenn das PDF wahlweise auch mit in den Tabs angezeigt wird, statt externe Anzeige (alles was geht im Manager), mglw. mit Lesezeichen Funktion, analog chm Darstellung. |
Zitat |
Delphi 11 Alexandria |
#10
Du hast ja schon einen recht erheblichen Teil der IDE redundant programmiert.
Folgendes Beispiel im anliegenden Screenshot: Delphi zeigt (auch in XE10) aus mir nicht nachvollziehbaren Gründen sämtlichen Container-Inhalte von TNotebooks in der Objekt-Strukturliste NICHT an. Die sind verstreut irgendwo in der Liste auf Level 0 enthalten und "vermüllen" so die ganze Übersicht. In meiner Ojektstrukturansicht zeige ich die in den TPages enthaltenden Komponenten hübsch gegliedert an. Das erhöht natürlich entscheidend die Übersichtlichkeit. Auch die Anzahl der in der DFM-Datei enthaltenen Objekte kannst Du in Delphi nur schwer ermitteln, bei mir wird es in der Statuszeile angezeigt. Ich dachte, Du hättest vielleicht eine Art IDE-DLL verwendet, die die DFM-,PAS- und weiteren Dateien parst und strukturiert im Speicher bereit stellt.
Respekt, wenn Du das alles selbst umgesetzt hast. Danke für das Kompliment
Harry Stahl
Geändert von Harry Stahl ( 4. Apr 2016 um 19:32 Uhr) |
Zitat |
Ansicht |
Linear-Darstellung |
Zur Hybrid-Darstellung wechseln |
Zur Baum-Darstellung wechseln |
ForumregelnEs 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
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
LinkBack URL |
About LinkBacks |