AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eigene IDE schreiben, (wie) geht sowas?

Ein Thema von hronny · begonnen am 28. Nov 2008 · letzter Beitrag vom 28. Nov 2008
Antwort Antwort
hronny

Registriert seit: 4. Mai 2006
Ort: Thüringen
97 Beiträge
 
Delphi 2007 Professional
 
#1

eigene IDE schreiben, (wie) geht sowas?

  Alt 28. Nov 2008, 08:56
Da ich in meinen 2 letzten Fragen schon ein paar mehr Informationen mit eigenen Klassen / Komponenten gemacht habe, aber mein eigentliches Problem noch nicht gelöst ist, möchte ich einmal schreiben was ich eigentlich für ein Programm schreiben möchte.

Ich möchte so eine Art "eigene IDE" schreiben, die grob gesehen ähnlich wie die von Delphi funktioniert. Das ganze soll ein Programm für eine Visualisierung werden. Da die Idee daran geht, erst eigene Komponenten schreiben die verschiedene Eigenschaften haben und dann die spätere Bedienoberfläche wie in der IDE selbst "zusammenklicken". Damit es noch deutlicher wird: Es soll eine Visualisierungsoberfläche mit Schaltern, Tastern, Texten usw werden, die mit einem vordefinierten Standardaussehen oder einem individuellem Bild belegbar ist. Also Drag&Drop und Copy&Paste ist demnach in so einer IDE Pflicht.

Aber wie geht man bei sowas vor? Eigenen Klassen schreiben, muss ich ja. Aber jeder "Typ" soll ja individuell werden. Die Darstellung wird in der WMPaint Methode festgelegt. Aber wie ist es möglich das, Copy&Paste funktioniert, automatische Hilfslinien bei Drag&Drop wie in RAD Studio 2007, wo wird da was festgelegt in den Komponenten oder in der Form? Und woher weis so eine IDE immer wieviel Komponenten vorhanden sind und welche Gruppiert sind?

Vielleicht ist meine Frage auch ein wenig seltsam, aber meine Idee ist da, Vorlagen habe ich genug aber das Konzept und der logische Aufbau da mangelt es noch. Aber evtl gibt es doch Antworten darauf.
grep -ri shit /usr/src/linux/*
  Mit Zitat antworten Zitat
Thomas Horstmann

Registriert seit: 25. Apr 2007
Ort: NRW
87 Beiträge
 
Delphi 12 Athens
 
#2

Re: eigene IDE schreiben, (wie) geht sowas?

  Alt 28. Nov 2008, 11:42
Hallo,

das ganze ist kein ganz einfaches Thema. Aber ein paar Erfaqhrungswerte:

1. Die Verschiedenen Klassen/Objekte können zur Auswahl in "TPaletteButtons"
hinterlegt werden. Die Klasse kann in "Data" des Items hinterlegt werden.

Die Symbole für eigene Komponenten sollten am besten aus einer Resource-Datei
kommen. Diese kann z.B. mit rc.exe erstellt werden.

2. Beim Anklick auf ein Formular muss TPaletteButtons abgefragt werden, ob
etwas aktiviert wurde. Wenn ja, entsprechendes Objekt erzeugen. Beim Anlegen
Owner und Parent setzen. Klasse kommt aus Item von TPaletteButtons.

3. Beim Bewegen von Objekten muss MouseDown, MouseMove usw. abgefangen werden.
Am besten "ApplicationMessage" benutzen und das Objekt bzw. den aktuellen
Status zu prüfen. Alternativ kann dies auch im Objekt hinterlegt werden
(ist aber sehr Aufwendig).

4. Für Copy/Paste gibt es ObjectBinaryToText und ObjectTextToBinary (Unit Classes).
Damit die Bezüge richtig gesetzt werden, muss ggf. TReader abgeleitet/angepasst
werden.

Wie gesagt, nicht ganz einfach und sehr aufwendig. Hoffe es hilft
  Mit Zitat antworten Zitat
dmagin

Registriert seit: 17. Jan 2003
Ort: Frankfurt
33 Beiträge
 
#3

Re: eigene IDE schreiben, (wie) geht sowas?

  Alt 28. Nov 2008, 11:56
schon mal an vsshell gedacht.

microsoft hat seine komplette Visual Studio IDE freigegeben. damit kannst du deine eigene sachen einpluggen.

jedoch bedeutet das ein framwork wechsel von win32 auf .net.

copy&paste , drag&drop, docking usw. ist dort alles schon drinn.

jedoch was anderes hat delphi.prism auch nicht gemacht. jedoch könntest du mit delphi.prism (wenns dann die tage raus kommt) deiner sprache pascal weiterleben.

vsshell heist nicht du hast eine visual studio sondern nutzt eine nackte IDE und machst damit was du willst.

mehr infos findest du auch unter:

Mehr infos Hier

und eine menge mit tante google

gruss daniel (magin)
Daniel Magin
  Mit Zitat antworten Zitat
hronny

Registriert seit: 4. Mai 2006
Ort: Thüringen
97 Beiträge
 
Delphi 2007 Professional
 
#4

Re: eigene IDE schreiben, (wie) geht sowas?

  Alt 28. Nov 2008, 12:24
Es ist in der Tat ein schwieriges Thema, da viele Faktoren die Programmierung beeinflussen und vieles bedacht werden muss. Mit .NET habe ich absolut keine Ahnung. Aber was "Thomas Horstmann" geschrieben hat, muss ich mir mal anschauen, Danke!
grep -ri shit /usr/src/linux/*
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: eigene IDE schreiben, (wie) geht sowas?

  Alt 28. Nov 2008, 15:19
Hallo hronny,

oki hat unter Zoomen des Inhaltes einer Scrollbox ein ähnliches Projekt beschrieben und ich habe auch etwas ähnliches umgesetzt meine Turniersoftware.

Vielleicht hilft Dir da etwas als Anregung.

In jedem Fall musst Du die benötigten Klassen registrieren, damit sie zur Laufzeit anhand des Klassennamens erzeugt werden können.
Eine Copy&Paste habe ich nicht realisiert. Man kann meine Komonenten einfach aus einer Palette auf den Designer ziehen und dort positionieren. Technisch gesehen muss dabei die Drag-Funktion des Paletten-Objekts beendet werden, ein neues Objekt (der gleichen Klasse) erzeugt und auf den Designer gesetzt werden und dann Drag&Drop dieses neuen Objektes gestartet werden. Der Anwender merkt von diesen Änderungen natürlich nichts.
Alle meine Designer-Objekte habe ich von einer gemeinsamen Klasse abgeleitet, die u.a. das Verschieben auf dem Designer ermöglicht. Außerdem gibt es eine Eigenschaft, die angibt, ob die Komponente aktiviert oder Teil eines aktivierten Blockes ist. Diese Eigenschaften veranlassen bei Änderungen die Komponenten über ihre Settermethoden direkt, sich selbst neu zu zeichnen.
Insgesamt ist das alles eine gehörige Bastelei!

stahli
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:04 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