|
![]() |
Registriert seit: 23. Jan 2005
Hallo!
Jetzt möchte ich Euch mal ein kleines Projekt vorstellen. Es handelt sich um eine sehr einfach gehaltene IDE für den Freepascal Compiler. Zu diesem Projekt motiviert wurde ich einerseits durch den Umstand, das der Freepascal Compiler, von Lazarus abgesehen, noch immer mit der etwas angestaubten Turbo Vision IDE geliefert wird, obwohl es leistungsfähige Windowas Entwicklungsumgebungen gibt. Wenn das Freepascal Team von dem einige, wie ich den Eindruck gewonnen habe, auch hier in der DP angemeldet sind, bereit ist, diese IDE an Stelle der alten, mit FreeVision geschriebenen zu verteilen, werde ich den Debugger noch versuchen, nachzurüsten und ebenso die Codevervollständigung. In diesem Fall wird diese IDE OpenSource. Andererseits fasziniert mich der Formulardesigner von Delphi. Weil es da zahlreiche Nachbauten gibt, die ich gerne nachvollziehen möchte und außerdem mir eine Lösung hirfür unter Nutzung von Quellcode aus der DP und aus dem sonstigen Internet zusammengestellt habe, brauche ich vollständigkeitshalber eine IDE, in die ich diesen Designer einbauen kann. In der vorliegenden Version der IDE ist jedoch kein Form-Designer eingebaut. In dieser Version gibt es noch keinen intergrierten Debugger, obwohl die Menüeinträge dafür bereits vorhanden sind. Auch gibt es noch keine Codevervollständigung, obwohl auch hier die Menüeinträge dafür vorhanden sind. Werden die betreffenden Menüeinträge ausgewählt, passiert nichts, außer dem Schließen des Menüs. Auch funktioniert der Aufruf des Konsolenfensters noch nicht im Menü "Datei->DOS aufrufen". Die integrierte Hilfe, folgt, wenn die IDE fertig ist. Das ist der Fall, wenn alle Funktionen, die im Menü sichtbar sind, auch alle funktionieren. Der Freepascalcompiler muss über das Menü "Tools->Tools einrichten" in die IDE integriert werden. Das funktioniert exakt so, wie das mit dem Einrichtungsdialog der Delphi IDE funktioniert. Ich habe diesen Dialog so gestaltet, wie er bis Delphi 7 gestaltet war. Alternativ kann der Programmpfad Eures Freepascal Compilers auch in die Datei "fp.tls" eingetragen werden. Ich habe vor den Pfad dort das Wort "Compiler" gesetzt, welches im Menü "Tools" erscheint, wenn der Compiler in der IDE bekannt ist. Nach einem Leerzeichen folgt der Compilerpfad. ACHTUNG: ---------------------------------------------------------------- Der Aufruf des Compilers muss über das Menü Compiler erfolgen! Bei Aufruf über das Tools Menü wird eine Exception ausgelöst! ---------------------------------------------------------------- Wer das gute alte Turbo Pascal noch kennt oder bereits mit der Textmode IDE von Freepascal gearbeitet hat, sollte mit dieser IDE auf Anhieb zurecht kommen. Getestet habe ich das Design mit Registern für den Quelltexteditor, wie das aus der Delphi IDE bekannt ist. Die MDI Variante ist noch fehlerhaft und deshalb empfehle ich dieses Design nicht. Unterhalb des Quelltexteditors gibt es 4 Fenster in Registern angeordnet. Diese sind: -Compiler-Ausgaben -Debugger Ausgaben(derzeit noch uninteressant) -Ausgaben Ihrer Anwendung -Meldungen Compiler Ausgaben: Hier erscheinen alle Meldungen des Compilers während der Übersetzung. Ausgaben Ihrer Anwendung Hierhin schreibt das übersetzte Programm alle Ausgaben. Unter "Optionen->Umgebungseinstellungen->Vorgaben kann dieses Verhalten so geändert werden, das die Programmausgaben in die Windowsconsole umgeleitet werden. Meldungen Hier sollen Fehlermeldungen der Anwendung sichtbar werden. Jetzt warte ich auf Eure möglichst konstruktive Kritik.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
|
|
#21
![]() Ja also ich bin auch der Meinung, dass man jetzt hier nicht auf Aussagen herumhacken sollte, sondern lieber konstruktive Kritik an der IDE anbringen sollte.
![]() Wenn das Freepascal Team von dem einige, wie ich den Eindruck gewonnen habe, auch hier in der DP angemeldet sind, bereit ist, diese IDE an Stelle der alten, mit FreeVision geschriebenen zu verteilen, werde ich den Debugger noch versuchen, nachzurüsten und ebenso die Codevervollständigung. In diesem Fall wird diese IDE OpenSource.
Martin Schreiber
|
![]() |
Delphi 7 Personal |
#22
Hallo Ihr alle!
Danke zuerst für Euer Interesse an der IDE und vorab für die kritischen Hinweise! ![]() Ich reagiere lediglich allergisch, wenn ich sehe, dass Leute von MSEide+MSEgui nur die IDE-binary herunterladen, auf das Paket mit der Entwicklungsumgebung verzichten, obwohl dessen Notwendigkeit überall erwähnt wird, README.TXT nicht lesen und dann behaupten, MSEide habe kein syntax highlighting.
In Lazarus erscheint auch Quelltexteditor und Formdesigner bereits beim Start und das Syntaxhighlighting ist defaultmäßig eingeschaltet, auch dann, wenn ich es versäumt habe, die Readme zu lesen. Die Quelltexte sind inzwischen so umfangreich, das ich, um das Verhalten der IDE zu ändern ebenso lange brauche um die Quelltexte im erforderlichen Umfang zu verstehen, wie ich brauche, um meine IDE auf diesen Entwicklungsstand zu bringen. Weil wir gerade bei zugesicherten Eigenschaften sind, Der User Insider2004, der auch in der DP Mitglied ist, hat im Thread "Lazarus Konkurrenz zu Delphi 2005?" behauptet, das im neuen Lazarus 0.9.29 Delphi Quellcode ohne Änderung nach Lazarus portierbar sei. Wenn dem wirklicxh so wäre, dann könnte doch mal einer der dieses Lazarus zum Laufen gebracht hat, die Quelltexte nach Lazarus portieren. Vorher Toolbar 2000- und SpTBX Komponenten enfernen, das mach ich dann vorher. Dann wäre die IDE von heute auf morgen portiert. Selbstverständlich erhält derjenige, der die Portierung machen kann, dann auch die Quelltexte. Einfach PN an mich. Die portierten Quelltexte werden dann automatisch Open Source. Dann müsste allerdings noch die GPL zum Paket hinzugefügt werden. Einfach PN an mich von demjenigen, der die Portierung machen kann. Sollte ja gehen, wenn das brandneue Freepascal wirklich so kompatibel zu Delphi ist. ![]() Wenn ich richtig verstanden habe, möchte schöni seine IDE als Ersatz der mit Free Pascal mitgelieferten fp IDE anbieten.
![]() Um dieses Ziel zu erreichen, müsste schöniIDE auf allen oder wenigstens auf den wichtigsten Plattformen, welche von FPC unterstützt werden, laufen. Delphi kommt daher als Entwicklungsumgebung nicht in Frage.
fp wird von den Free Pascal Entwicklern auch deshalb geschätzt, da es mittels SSH ausgezeichnet auf externen Rechnern betrieben werden kann. Auch dies müsste von Anfang an berücksichtigt werden, wenn schöniIDE als Ersatz für fp dienen sollte. Hmmm, ich habe versucht, mit Lazarus zu entwickeln, aber die Synedit Komponenten sind dort nicht so gut ausgebaut. Das fängt mit der SearchEngine an, die nicht nur für die Funktion "Gehe zu Zeile X", sondern auch für den Debugger zum Auffinden der aktuellen Quellcodezeile gebraucht wird. Um da einen Workaround zu schreiben, brauche ich zu viel Zeit, die ich bei Verwendung der Delphi Synedit Kompos für anderes verwenden kann. Außerdem, hat nicht jemand Kylix, um die IDE wenigstens für linux zu übersetzen? Im Zweifelsfall müsste ich die SpTBX- und Toolbar-2000 KOmponenten aus der IDE entfernen. Toolbars gibt es ja auch von der IDE her. Wie sieht es mit Delphi auf den anderen Plattformen aus? Gibt es das wirklich nur für Windows? Und wie steht es mit WINE, dem Windoes Emulator auf Linux? Was wäre, wenn die IDE dort liefe? Dann wäre sie schon mal für Linux verfügbar. Ist zwar vom Design her dann nicht so schön, wie wenn die IDE direkt auf Linux läuft, aber ist doch erst mal egal, wie das Betriebssystem die Software zum Laufen kriegt. Sofern die Performance nicht wesentlich darunter leidet. Ok, dann würde die IDE für Linux verwendbar sein, falls sie auf WINE läuft. Aber auf ARM, MAC...? Was heißt "die IDE auf externen Rechnern" betreiben? Statt SSH spreche ich den Debugger über die Message WM_COPYDATA an. Ich gebe dann einen String mit. Von der IDE zum Debugger enthält dieser String die Kommandos für den Debugger, Vom Debugger zur IDE kommen die ERgebnisse der Ausdruckauswertungen, Name der aktuellen Quelldatei, Quellcodezeile, Funktionsname... Ich muss die Lazarus Version des Debuggers verwenden, wegen der Portabilitätsprobleme und wegen des von Embarcadero verschiedenen Debuginfo Formates. Wie umfangreich werden da die Änderungen, um die Übertragung der Botschaften statt mit Windows Messages mit SSH zu machen? Das ist in der aktuell downloadbaren Version noch nicht enthalten, ein Update der IDE folgt, sobald der Debugger funzt. Die Debuggerquellen nach Delphi portieren scheitert an den Unterschieden in den beiden Pascal Dialekten. Wie könnte ich das mit SSH erreichen? ![]() aber hier fehlen mir die Grundgedanken von Free Pascal. Denn die Anwendung ist weder offen noch für mehrere Plattformen gedacht.
Bezüglich Synedit-Kompos hat es sicher einen Grund, warum die auf Lazarus nicht so umfangreich sind. Oben hab ich schon gesagt, was mir da fehlt. Wenn jemand versucht, die IDE für Lazarus zu übersetzen, dürfte er, wenn ich die verwendeten Fremdkomponenten entferne, an genau dieser Stelle scheitern. Außerdem habe ich in der IDE für den Directory Dialog das ShellTreeView eingesetzt, weil kein fertiger Directory-Auswahldialog in Delphi da ist. Den gibt es aber wiederum in Lazarus. |
![]() |
|
#23
![]() Und wie steht es mit WINE, dem Windoes Emulator auf Linux? Was wäre, wenn die IDE dort liefe?
Dann wäre sie schon mal für Linux verfügbar. Ist zwar vom Design her dann nicht so schön, wie wenn die IDE direkt auf Linux läuft, aber ist doch erst mal egal, wie das Betriebssystem die Software zum Laufen kriegt. Sofern die Performance nicht wesentlich darunter leidet. Ok, dann würde die IDE für Linux verwendbar sein, falls sie auf WINE läuft. Aber auf ARM, MAC...?
米斯蘭迪爾
|
![]() |
Delphi 7 Personal |
#24
![]() ![]() Und wie steht es mit WINE, dem Windoes Emulator auf Linux? Was wäre, wenn die IDE dort liefe?
Dann wäre sie schon mal für Linux verfügbar. Ist zwar vom Design her dann nicht so schön, wie wenn die IDE direkt auf Linux läuft, aber ist doch erst mal egal, wie das Betriebssystem die Software zum Laufen kriegt. Sofern die Performance nicht wesentlich darunter leidet. Ok, dann würde die IDE für Linux verwendbar sein, falls sie auf WINE läuft. Aber auf ARM, MAC...? Wer die downloadbare IDE auf seinen Rechner lädt, muss zuerst seinen Freepascal Compiler in der IDE als Tool einrichten. Der Dialog dazu ist genau so aufgebaut, wie der in Delphi eingebaute. |
![]() |
|
#25
Hm, ok, ich hab gedacht, WINE sei ein Emulator. Erst jetzt habe ich gelesen, was der Name "WINE" eigentlich bedeutet.
![]()
米斯蘭迪爾
|
![]() |
FreePascal / Lazarus |
#26
Der Name Hinter WINE sagt nicht alles. Aber der wichtige Punkt ist, niemand will eine halb funktionierende IDE und erst recht will niemand ein Windows Programm unter Linux laufen lassen wenn es nicht notwendig ist. Da sich WINE Anwendungen nicht ins System einpflegen und da die WinAPI nur teilweise funktioniert, ist eine solche Lösung nie optimal.
Also so würde es wohl kein ersatz werden. Auch glaube das die Free Pascal Entwickler keine IDE wollen würden die nicht portabel ist. Denn viele der Lazarus/FPC Entwickler stammen aus dem Linux Lager und dort will man native Anwendungen. Ich glaube ich Spreche für viele Linux Nutzer wenn ich sage: Ich nutze lieber VIM zum Entwickeln als eine IDE die WINE nutzt. Gerade im Delphi Bereich dürften die Linuxnutzer immer noch ein Trauma von Kylix haben, denn das war genau das was du versuchst und es wurde schlecht akzeptiert. Zur IDE selbst: sie startet zumindest unter WINE, aber wirklich toll ist sie nicht. Also selbst der Lazarus Code Editor scheint besser zu sein. Da muss also noch etwas nach gebessert werden.(Tabs funktionieren nicht) dazu können "X" zum schließen von Tabs nicht schaden. Auch frage ich mich was die Leiste unten soll. Sie nimmt Platz weg und bringt nichts oder? Für später wären Programmvorlagen vielleicht nicht schlecht. Ansonsten ein netter Anfang aber wie schon erwähnt nichts für mich. Ich mag es wenn die Anwendungen in meinem System einheitlich sind. |
![]() |
Delphi 10.4 Sydney |
#27
![]() Also eigentlich hat das Thema damit begonnen, dass Schöni eine auf seine Bedürfnisse zugeschnittene IDE erstellen wollte. Der Spaß und die Freude am Projekt dürften da wohl mit ein nennenswerter Aspekt in der Motivation gewesen sein. Ich hatte nicht den Eindruck, dass dieses Projekt jegliche Bedürfnisse befriedigen soll oder gar in Konkurrenz zu Projekten wie Lazarus, Eclipse oder dem VisualStudio treten soll.
Daniel R. Wolf
|
![]() |
|
#28
![]() Wäre nett vom Entwicklungsteam, da mal defaultmäßig Nutzerfreundlichere Einstellungen vorzunehmen. Wer die OPtik dann wieder so haben will, wie sie jetzt ist, kann ja die Readme Datei studieren und gemäß den dortigen Anweisungen die Einstellungen anpassen.
![]() 4. Run 'yourdirectory/bin/mseide' on linux or
'yourdirectory\bin\mseide.exe' on windows. 5. In 'Settings'-'Configure MSEide'-'${MSEDIR}' select 'yourdirectory/msegui'. 6. In 'Project'-'Open' select 'yourdirectory/msegui/apps/demo/demo.prj'. 7. 'Target'-'Continue'. MSEide kann nämlich nicht nur Pascal Texte auszeichnen, sondern mit entsprechenden Definitionsdateien beliebige Programmiersprachen. Mitgeliefert werden Definitionen für Pascal, C/C++ und SQL, weitere kannst du selbst schreiben, es ist einfacher ASCII-Text. Aber eben, diese Dateien befinden sich im Entwicklungsumgebungs-Paket und sind nicht nicht im exe eingebaut. Das exe hat auch keine vollständige Fenster Einstellungen, diese befinden sich in anpassbaren Projekt-Templates welche ebenfalls im Entwicklungsumgebungspaket enthalten sind. ![]() In Lazarus erscheint auch Quelltexteditor und Formdesigner bereits beim Start und das Syntaxhighlighting ist defaultmäßig eingeschaltet, auch dann, wenn ich es versäumt habe, die Readme zu lesen.
![]() Die Quelltexte sind inzwischen so umfangreich, das ich, um das Verhalten der IDE zu ändern ebenso lange brauche um die Quelltexte im erforderlichen Umfang zu verstehen, wie ich brauche, um meine IDE auf diesen Entwicklungsstand zu bringen.
Für eine einfache IDE mit integriertem debugger (gdb) musst du mit etwa 2000 Stunden rechnen. Inklusive Formulardesigner und entsprechendem Widgetset geht es kaum unter 10'000 Stunden. ![]() Was heißt "die IDE auf externen Rechnern" betreiben?
Statt SSH spreche ich den Debugger über die Message WM_COPYDATA an. Ich gebe dann einen String mit. Von der IDE zum Debugger enthält dieser String die Kommandos für den Debugger, Vom Debugger zur IDE kommen die ERgebnisse der Ausdruckauswertungen, Name der aktuellen Quelldatei, Quellcodezeile, Funktionsname... Da fp in einem Textterminal angezeigt wird, sind die Anforderungen an die Übertragungskapazität vom/zum entfernten Rechner niedrig. ![]() Ich muss die Lazarus Version des Debuggers verwenden, wegen der Portabilitätsprobleme und wegen des
von Embarcadero verschiedenen Debuginfo Formates. Wie umfangreich werden da die Änderungen, um die Übertragung der Botschaften statt mit Windows Messages mit SSH zu machen? ![]() Beachte vor allem den Bereich GDB/MI. Bei Remote-Debugging läuft lediglich ein Teil des Debuggers (gdbserver) und das zu testende Programm auf dem entfernten Rechner. Die Verbindung von gdb (läuft auf dem lokalen Rechner) und gdbserver (läuft auf dem entfernten Rechner) geschieht dabei z.B. mit TCP/IP und passiert gdb intern, darum musst du dich nicht kümmern. Martin
Martin Schreiber
|
![]() |
|
#29
![]() ![]() Also eigentlich hat das Thema damit begonnen, dass Schöni eine auf seine Bedürfnisse zugeschnittene IDE erstellen wollte.
Martin Schreiber
|
![]() |
Ansicht |
![]() |
![]() |
![]() |
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 |
![]() |
![]() |