![]() |
SynEdit unter Turbo Delphi
Hi,
ich habe gerade via Forensuche die SynEdit Komponente gefunden. Aber ich glaube, die kann ich gar nicht mit Turbo Delphi (was ich seit gestern benutzte) verwenden!? Richtig? Grüße :) |
Re: SynEdit unter Turbo Delphi
Hallo,
verwenden kannst du sie. Wenn du die Explorer-Version besitzt, musst du diese Komponente jedoch dynamisch zur Laufzeit erzeugen. Grüße |
Re: SynEdit unter Turbo Delphi
Du kannst nicht mit dem Objekt-Inspektor darauf zugreifen, das ist korrekt. Du kannst sie allerdings dynamisch erzeugen. Es gibt zu diesem Thema schon sehr, sehr viele Threads. Suche mal nach "Turbo Delphi Komponenten".
|
Re: SynEdit unter Turbo Delphi
Ok ich habe ein paar Beiträge gefunden.
Ich binde die Unit ins Programm ein, danach definiere ich mir eine Variable mit dem entsprechenden Datentyp und kann die Komponente benutzen. Zum Schluss nur noch freigeben. Aber weil dort so viele Dateien im Archiv sind, weiß ich nicht welche und wie ich die genau einbinden muss. In welchem Verzeichnis müssen denn die Dateien liegen? Gruß |
Re: SynEdit unter Turbo Delphi
Ungepatchte dclusr.res besorgen und Komponenten in die dclusr.dpk installieren. Dann klappts auch mit den Komponenten zur Designtime in der IDE. ;)
|
Re: SynEdit unter Turbo Delphi
Zitat:
|
Re: SynEdit unter Turbo Delphi
...also bis jetzt habe ich noch nichts brauchbares :(
|
Re: SynEdit unter Turbo Delphi
Ja, ja, so ist das, wenn man sparen muss; der Reiche lebt oft bequemer. Wie viele Units kommen denn in Frage? Scheidet aufgrund der Anzahl ein try-and-error aus?
|
Re: SynEdit unter Turbo Delphi
Ich möchte nur in einem Unit ein RichEdit mit Syntaxhighlighting versehen. Aber die Packages sind alle für nicht Turbo Editionen. Jetzt weiß ich aber nicht, wie ich das dynamisch benutzte. Ich lade es in mein Projekt und dann rufe ich es auf?
Gruß |
Re: SynEdit unter Turbo Delphi
Delphi-Quellcode:
<Kompo> := <TKompo>.Create(<Parameter>);
<Kompo>.Parent := ... <Kompo>.<Eigenschaft1>.<Wert1>; <Kompo>.<Eigenschaft2>.<Wert2>; ... |
Re: SynEdit unter Turbo Delphi
Ergänze den Suchpfad deines Projektes um den Pfad zu den SynEdit Units in der Delphi Version. Dann musst du unter Units die UNit "SynEdit" eintragen und für die Highlighter nachschauen wie die jeweiligen Units heißen. D.h. du brauchst nicht das Synedit Package öffnen.
Dann kannst du auf die Komponenten per Laufzeit zugreifen. |
Re: SynEdit unter Turbo Delphi
Zitat:
Also... Ich habe über "Dem Projekt hinzufügen" einige .pas Dateien hinzugefügt (SyncEdit und die Highlighter z.B. für PHP). Dann habe ich in meiner Main Unit in die Uses Klausel "SynEdit" eingebunden. Ich weiß auch gar nicht, welche Dateien benötigt werden. Auch wenn ich Schritt für Schritt die Dateien dem Projekt hinzufüge, die gebraucht werden, so kommen immer Fehlermeldungen. Auch wenn ich alles einbinde, werden verschiede Sachen nicht gefunden... Wäre toll, wenn mir jmd jetzt nochmal in kleinen Schritten helfen könnte :) |
Re: SynEdit unter Turbo Delphi
du musst nicht die Units dem Projekt hinzufügen...
1) Du hast einen Ordner in dem alle Units der Komponente liegen. Diesen gibst du jetzt bei den Optionen als zusätzlicher Suchpfad der Bibliothek mit an. 2) Du bindest die entsprechende Unit (zB SynEdit) unter den uses ein. 3) Du kannst die Komponente dynamisch erzeugen und freigeben. |
Re: SynEdit unter Turbo Delphi
Also kompilieren kann ich jetzt alles. Aber gibt es dazu irgendwie ein Tutroial? Weil aus den Beispeiel-Sources werde ich nicht ganz schlau.
Am besten wäre es, wenn es jmd hier mit Beispiel-Code zeigen könnte, wie man z.B. c++ highlighten kann. Grüße :) |
Re: SynEdit unter Turbo Delphi
Wie sieht denn dein bisheriger Code aus.
|
Re: SynEdit unter Turbo Delphi
Zitat:
Ich habe nur ein RichEdit und jetzt wollte ich, z.B. per Button, die Syntax für z.B. c++ hervorheben. Ich weiß gar nicht, was genau ich wie einbinden muss und welche Funktionen ich aufrufen muss. Ich hatte erst versucht mir das highlighting selbst zu programmieren - aber das ist ja viel zu viel. Gruß |
Re: SynEdit unter Turbo Delphi
Zitat:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, SynEdit, SynHighlighterCpp; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Memo:TSynEdit; CPP:TSyncppSyn; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Memo:=TSynEdit.Create(Self); //SynEdit erzeugen CPP:=TSyncppSyn.Create(Self);//C++ HL erzeugen Memo.Highlighter:=CPP; Memo.Parent:=Form1; Memo.Top:=10; Memo.Left:=10; Memo.Height:=300; Memo.Width:=500; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin Memo.Free; CPP.Free; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz