![]() |
DesignIntf nicht gefunden
Hi,
ich verwende die Komponenten von List&Label V21. Unter Delphi 10 Seattle hatte ich es installiert (frag mich nicht, wie ich es damals geschaft habe). Nun habe ich Delphi 10 Rio und wenn ich die ListLabel21.dpk installieren will, bekomme ich die Fehlermeldung "[dcc32 Fataler Fehler] l21des.pas(82): F2613 Unit 'dsgnintf' nicht gefunden." Ich habe den Suchpfad unter Projektoptionen angepasst, aber ohne erfolg. Wie gesagt, unter 10 Seattle läßt es sich kompilieren, aber ich weiss nicht warum es in 10.3 nicht tut. Ich verwende exakt die gleiche dpk sowohl unter Seattle wie unter Rio. Irgend eine Idee? |
AW: DesignIntf nicht gefunden
...hast du auch die *.inc angepasst?
|
AW: DesignIntf nicht gefunden
Zitat:
|
AW: DesignIntf nicht gefunden
Normalerweise gibt es dort irgendwo eine .inc Datei, in der erkannt wird um welchen Compiler es sich handelt. An der von dir genannten Fehlerstelle steht bestimmt so etwas:
Delphi-Quellcode:
Und dieses DELPHI500OrHigher wird nun in dieser .inc Datei festgelegt. Da es deine Delphiversion noch nicht kennt, klappt das nicht.
{$IFDEF DELPHI500OrHigher}
DesignIntf, ... {$ELSE} dsgnintf, ... {$ENDIF} Irgendwo in der l21des.pas oberhalb von Zeile 82 wird ein {$I ...} oder {$INC ...} stehen. Die dort eingetragene Datei muss angepasst werden. |
AW: DesignIntf nicht gefunden
@Jaenicke: Vielen Dank! Es gab keine INC Datei, aber am Anfang der Datei wurden die Compiler-Direktiven eingefügt. Ich habe dann
Delphi-Quellcode:
hinzugefügt und nun tut alles!
{$ifdef ver330} //Delphi 10 (Rio)
{$define d6plus} {$endif} Ich bin nicht auf die Idee gekommen, dass d6plus keine Delphi Direktive ist. Über 1 Stunde habe ich gesucht :-(. Hätte ich doch gleich hier gefragt! :thumb: |
AW: DesignIntf nicht gefunden
Ich habe das gleiche Problem hier bei den Synedit Komponenten.
Delphi-Quellcode:
Der Anzieger für die fehlerhagte Codezeile steht auf der Designintf - Unit. Die Nummer der fehlerhaften Zeile wird ebenfalls korrekt angezeigt. SY_COMPILER_6_UP ist also definiert, ich compiliere mit Delphi 10.3.2, diese Version ist höher als Delphi 6, soweit arbeitet mein Compiler also korrekt. Aber wo ist nun die Unit Designintf? Und gibt es die anderen Units (DesignEditors,
unit SynEditPropertyReg;
{$ENDIF} {$I SynEdit.inc} //Die Include-Datei ist da, sonst hätte ich den Fehler "SynEdit.inc nicht gefunden" erhalten. interface uses {$IFDEF SYN_COMPILER_6_UP} DesignIntf, DesignEditors, VCLEditors, StrEdit, {$ELSE} VCLEditors, StrEdit)? |
AW: DesignIntf nicht gefunden
Du must dem Package hinzufügen:
designide.dcp Das package findest Du im Delphi Directory. |
AW: DesignIntf nicht gefunden
|
AW: DesignIntf nicht gefunden
Zitat:
![]() |
AW: DesignIntf nicht gefunden
Wenn ich das mit Projekt->Dem Projekt hinzufügen mache, meckert die IDE, ich könne dieses Package "designide.dcp" dem Projekt nicht hinzufügen.
Es gibt noch eine "designide260.bpl", die kann ich auf diese Weise hinzufügen, das führt aber nicht zum Erfolg. Nach wie vor -> designintf nicht gefunden. Wo finde ich den Dialog, der auf der Embarcadero Seite, die oben verlinkt ist, abgebildet ist? Ich verwende Delphi 10.3.2 Community Edition. |
AW: DesignIntf nicht gefunden
Hallo
Project/Optionen/Delphi-Compiler/Compilieren Ziel auswählen (Release, Debug) Gruß |
AW: DesignIntf nicht gefunden
Wenn ich dagegen versuche mit dem Menüpunkt Bereitstellung zu arbeiten, moniert er eine nicht gefundene designide260.bpl, obwohl ich dieses Package vorher dem Projekt hinzugefügt habe.
Menü Projekt->Dem Projekt hinzufügen. |
AW: DesignIntf nicht gefunden
Zitat:
|
AW: DesignIntf nicht gefunden
Hallo,
mal ohne hinzugefügte *.bpl's versuchen. Gruß |
AW: DesignIntf nicht gefunden
Woher hast du das SynEdit? Es sollte doch ohne irgendwelche Modifikationen kompilieren und es nicht erforderlich machen, da irgendwie dran rumzufummeln.
Falls doch, sollte das bei der Quelle gefixt werden |
AW: DesignIntf nicht gefunden
Zitat:
![]() Dort der 2. Beitrag enthält den Link. Ich konnte die Synedits compilieren und die Packages installieren. Der Fehlker tritt auf, wenn ich ein Projekt übersetzen will, das die Synedit Komponenten verwendet. . |
AW: DesignIntf nicht gefunden
Zitat:
|
AW: DesignIntf nicht gefunden
Zitat:
|
AW: DesignIntf nicht gefunden
Zitat:
Zitat:
Wo wird diese Unit denn referenziert? Grep mal nach dem Unitnamen und wirf alle Referenzen raus, die nicht im SynEdit Source selbst sind. twm |
AW: DesignIntf nicht gefunden
Hallo,
von da hatte ich sie mir auch runtergeladen und wie dort im link unter #16 beschrieben installiert. nichts hinzugefügt. läuft unter Tokio und Rio Gruß Zitat:
|
AW: DesignIntf nicht gefunden
Habe nun die DesignIde.pas Unit und auch die anderen (VCLEdit und StrEdit entfernt.
Nun kommt Fehlermeldung: "DesignIde260 wird benötigt, kann aber nicht gefunden werden"! So sieht mein Quellcode für mein Editorprojekt bisher aus:
Delphi-Quellcode:
Wo ist die klassische Begin End. Klammer geblieben?
program Edit;
uses Vcl.Forms, UFrame in 'UFrame.pas' {Frame1: TFrame}, SynAutoCorrect in '..\Synedit\Source\SynAutoCorrect.pas', SynAutoCorrectEditor in '..\Synedit\Source\SynAutoCorrectEditor.pas' {frmAutoCorrectEditor}, SynCompletionProposal in '..\Synedit\Source\SynCompletionProposal.pas', SynDBEdit in '..\Synedit\Source\SynDBEdit.pas', SynEdit in '..\Synedit\Source\SynEdit.pas', SynEditAutoComplete in '..\Synedit\Source\SynEditAutoComplete.pas', SynEditCodeFolding in '..\Synedit\Source\SynEditCodeFolding.pas', SynEditDocumentManager in '..\Synedit\Source\SynEditDocumentManager.pas', SynEditExport in '..\Synedit\Source\SynEditExport.pas', SynEditHighlighter in '..\Synedit\Source\SynEditHighlighter.pas', SynEditHighlighterOptions in '..\Synedit\Source\SynEditHighlighterOptions.pas', SynEditKbdHandler in '..\Synedit\Source\SynEditKbdHandler.pas', SynEditKeyCmdEditor in '..\Synedit\Source\SynEditKeyCmdEditor.pas' {SynEditKeystrokeEditorForm}, SynEditKeyCmds in '..\Synedit\Source\SynEditKeyCmds.pas', SynEditKeyCmdsEditor in '..\Synedit\Source\SynEditKeyCmdsEditor.pas' {SynEditKeystrokesEditorForm}, SynEditKeyConst in '..\Synedit\Source\SynEditKeyConst.pas', SynEditMiscClasses in '..\Synedit\Source\SynEditMiscClasses.pas', SynEditMiscProcs in '..\Synedit\Source\SynEditMiscProcs.pas', SynEditOptionsDialog in '..\Synedit\Source\SynEditOptionsDialog.pas' {fmEditorOptionsDialog}, SynEditPlugins in '..\Synedit\Source\SynEditPlugins.pas', SynEditPrint in '..\Synedit\Source\SynEditPrint.pas', SynEditPrinterInfo in '..\Synedit\Source\SynEditPrinterInfo.pas', SynEditPrintHeaderFooter in '..\Synedit\Source\SynEditPrintHeaderFooter.pas', SynEditPrintMargins in '..\Synedit\Source\SynEditPrintMargins.pas', SynEditPrintMarginsDialog in '..\Synedit\Source\SynEditPrintMarginsDialog.pas' {SynEditPrintMarginsDlg}, SynEditPrintPreview in '..\Synedit\Source\SynEditPrintPreview.pas', SynEditPrintTypes in '..\Synedit\Source\SynEditPrintTypes.pas', SynEditPropertyReg in '..\Synedit\Source\SynEditPropertyReg.pas', SynEditPythonBehaviour in '..\Synedit\Source\SynEditPythonBehaviour.pas', SynEditReg in '..\Synedit\Source\SynEditReg.pas', SynEditRegexSearch in '..\Synedit\Source\SynEditRegexSearch.pas', SynEditSearch in '..\Synedit\Source\SynEditSearch.pas', SynEditStrConst in '..\Synedit\Source\SynEditStrConst.pas', SynEditTextBuffer in '..\Synedit\Source\SynEditTextBuffer.pas', SynEditTypes in '..\Synedit\Source\SynEditTypes.pas', SynEditWildcardSearch in '..\Synedit\Source\SynEditWildcardSearch.pas', SynEditWordWrap in '..\Synedit\Source\SynEditWordWrap.pas', SynExportHTML in '..\Synedit\Source\SynExportHTML.pas', SynExportRTF in '..\Synedit\Source\SynExportRTF.pas', SynExportTeX in '..\Synedit\Source\SynExportTeX.pas', SynHighlighterADSP21xx in '..\Synedit\Source\SynHighlighterADSP21xx.pas', SynHighlighterAsm in '..\Synedit\Source\SynHighlighterAsm.pas', SynHighlighterAsmMASM in '..\Synedit\Source\SynHighlighterAsmMASM.pas', SynHighlighterAWK in '..\Synedit\Source\SynHighlighterAWK.pas', SynHighlighterBaan in '..\Synedit\Source\SynHighlighterBaan.pas', SynHighlighterBat in '..\Synedit\Source\SynHighlighterBat.pas', SynHighlighterCAC in '..\Synedit\Source\SynHighlighterCAC.pas', SynHighlighterCache in '..\Synedit\Source\SynHighlighterCache.pas', SynHighlighterCobol in '..\Synedit\Source\SynHighlighterCobol.pas', SynHighlighterCPM in '..\Synedit\Source\SynHighlighterCPM.pas', SynHighlighterCpp in '..\Synedit\Source\SynHighlighterCpp.pas', SynHighlighterCS in '..\Synedit\Source\SynHighlighterCS.pas', SynHighlighterCss in '..\Synedit\Source\SynHighlighterCss.pas', SynHighlighterDfm in '..\Synedit\Source\SynHighlighterDfm.pas', SynHighlighterDml in '..\Synedit\Source\SynHighlighterDml.pas', SynHighlighterDOT in '..\Synedit\Source\SynHighlighterDOT.pas', SynHighlighterDWS in '..\Synedit\Source\SynHighlighterDWS.pas', SynHighlighterEiffel in '..\Synedit\Source\SynHighlighterEiffel.pas', SynHighlighterFortran in '..\Synedit\Source\SynHighlighterFortran.pas', SynHighlighterFoxpro in '..\Synedit\Source\SynHighlighterFoxpro.pas', SynHighlighterGalaxy in '..\Synedit\Source\SynHighlighterGalaxy.pas', SynHighlighterGeneral in '..\Synedit\Source\SynHighlighterGeneral.pas', SynHighlighterGLSL in '..\Synedit\Source\SynHighlighterGLSL.pas', SynHighlighterGo in '..\Synedit\Source\SynHighlighterGo.pas', SynHighlighterGWS in '..\Synedit\Source\SynHighlighterGWS.pas', SynHighlighterHashEntries in '..\Synedit\Source\SynHighlighterHashEntries.pas', SynHighlighterHaskell in '..\Synedit\Source\SynHighlighterHaskell.pas', SynHighlighterHC11 in '..\Synedit\Source\SynHighlighterHC11.pas', SynHighlighterHP48 in '..\Synedit\Source\SynHighlighterHP48.pas', SynHighlighterHtml in '..\Synedit\Source\SynHighlighterHtml.pas', SynHighlighterIDL in '..\Synedit\Source\SynHighlighterIDL.pas', SynHighlighterIni in '..\Synedit\Source\SynHighlighterIni.pas', SynHighlighterInno in '..\Synedit\Source\SynHighlighterInno.pas', SynHighlighterJava in '..\Synedit\Source\SynHighlighterJava.pas', SynHighlighterJScript in '..\Synedit\Source\SynHighlighterJScript.pas', SynHighlighterJSON in '..\Synedit\Source\SynHighlighterJSON.pas', SynHighlighterKix in '..\Synedit\Source\SynHighlighterKix.pas', SynHighlighterLDraw in '..\Synedit\Source\SynHighlighterLDraw.pas', SynHighlighterLLVM in '..\Synedit\Source\SynHighlighterLLVM.pas', SynHighlighterM3 in '..\Synedit\Source\SynHighlighterM3.pas', SynHighlighterManager in '..\Synedit\Source\SynHighlighterManager.pas', SynHighlighterModelica in '..\Synedit\Source\SynHighlighterModelica.pas', SynHighlighterMsg in '..\Synedit\Source\SynHighlighterMsg.pas', SynHighlighterMulti in '..\Synedit\Source\SynHighlighterMulti.pas', SynHighlighterPas in '..\Synedit\Source\SynHighlighterPas.pas', SynHighlighterPerl in '..\Synedit\Source\SynHighlighterPerl.pas', SynHighlighterPHP in '..\Synedit\Source\SynHighlighterPHP.pas', SynHighlighterProgress in '..\Synedit\Source\SynHighlighterProgress.pas', SynHighlighterPython in '..\Synedit\Source\SynHighlighterPython.pas', SynHighlighterRC in '..\Synedit\Source\SynHighlighterRC.pas', SynHighlighterRexx in '..\Synedit\Source\SynHighlighterRexx.pas', SynHighlighterRuby in '..\Synedit\Source\SynHighlighterRuby.pas', SynHighlighterSDD in '..\Synedit\Source\SynHighlighterSDD.pas', SynHighlighterSml in '..\Synedit\Source\SynHighlighterSml.pas', SynHighlighterSQL in '..\Synedit\Source\SynHighlighterSQL.pas', SynHighlighterST in '..\Synedit\Source\SynHighlighterST.pas', SynHighlighterTclTk in '..\Synedit\Source\SynHighlighterTclTk.pas', SynHighlighterTeX in '..\Synedit\Source\SynHighlighterTeX.pas', SynHighlighterUNIXShellScript in '..\Synedit\Source\SynHighlighterUNIXShellScript.pas', SynHighlighterUnreal in '..\Synedit\Source\SynHighlighterUnreal.pas', SynHighlighterURI in '..\Synedit\Source\SynHighlighterURI.pas', SynHighlighterVB in '..\Synedit\Source\SynHighlighterVB.pas', SynHighlighterVBScript in '..\Synedit\Source\SynHighlighterVBScript.pas', SynHighlighterVrml97 in '..\Synedit\Source\SynHighlighterVrml97.pas', SynHighlighterWebIDL in '..\Synedit\Source\SynHighlighterWebIDL.pas', SynHighlighterXML in '..\Synedit\Source\SynHighlighterXML.pas', SynMacroRecorder in '..\Synedit\Source\SynMacroRecorder.pas', SynMemo in '..\Synedit\Source\SynMemo.pas', SynRegExpr in '..\Synedit\Source\SynRegExpr.pas', SynTextDrawer in '..\Synedit\Source\SynTextDrawer.pas', SynUnicode in '..\Synedit\Source\SynUnicode.pas', SynURIOpener in '..\Synedit\Source\SynURIOpener.pas', SynUsp10 in '..\Synedit\Source\SynUsp10.pas'; Application.CreateForm(TSynEditKeystrokeEditorForm, SynEditKeystrokeEditorForm); Unit UEditor:
Delphi-Quellcode:
Und mein Editor:
unit UEditor;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ToolWin, Vcl.ActnMan, Vcl.ActnCtrls, Vcl.ExtCtrls, Vcl.Menus, Vcl.ComCtrls, Vcl.CategoryButtons, editor2; type TForm2 = class(TForm) MainMenu1: TMainMenu; Datei1: TMenuItem; Neu1: TMenuItem; InEditorholen1: TMenuItem; N1: TMenuItem; Speichern1: TMenuItem; Speichernunter1: TMenuItem; Allesspeichern1: TMenuItem; Schlieen1: TMenuItem; Allesschlieen1: TMenuItem; N2: TMenuItem; Beenden1: TMenuItem; Bearbeiten1: TMenuItem; T: TControlBar; CategoryPanelGroup1: TCategoryPanelGroup; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; CategoryPanel1: TCategoryPanel; TreeView1: TTreeView; CategoryPanel2: TCategoryPanel; CategoryPanelGroup2: TCategoryPanelGroup; CategoryPanel3: TCategoryPanel; CategoryPanel4: TCategoryPanel; PageControl1: TPageControl; TabSheet1: TTabSheet; HeaderControl1: THeaderControl; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} end.
Delphi-Quellcode:
{
To do: - vor schließen Fenster oder Tabseite -> Datei speichern oder fragen - In Editwindow -> Editorliste ergänzen - in Main: Zeile 109 und 153 TEditorPages//(Container) - in TEditorPages mit TPageControl -> Wenn Noname.pas, dann Datei in diesen Editor } unit editor2; {$ifdef fpc}{$mode objfpc}{$H+}{$endif} {.define USE_SPTBX} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, SynHighlighterPas, SynHighlighterCpp, SynHighlighterDFM, SynHighlighterJava, SynHighlighterPerl, SynHighlighterHTML, SynHighlighterXML, SynHighlighterCss, SynHighlighterPHP, SynHighlighterSQL, SynHighlighterPython, SynEdit, SynCompletionProposal, SynExportHTML, SynMacroRecorder, SynEditHighlighter, {$ifndef FPC} {$ifdef USE_SPTBX}SpTBXTabs,{$endif} {$endif} ComCtrls, Contnrs, ExtCtrls{$ifdef fpc},Process{$endif}; //nur FPC Version const HIGHLIGHTER_PAS = 0; HIGHLIGHTER_FPC = 1; HIGHLIGHTER_CPP = 2; HIGHLIGHTER_LFM = 3; HIGHLIGHTER_JAV = 4; HIGHLIGHTER_PRL = 5; HIGHLIGHTER_HTM = 6; HIGHLIGHTER_XML = 7; HIGHLIGHTER_CSS = 8; HIGHLIGHTER_PHP = 9; HIGHLIGHTER_SQL = 10; HIGHLIGHTER_PYT = 11; HIGHLIGHTER_ASM = 12; type THighLighters = class(TStringList) private function GetHighlighter(Index: Integer): TSynCustomHighlighter; public function Add(AHighlighter: TSynCustomHighlighter): Integer; property Highlighters[Index: Integer]: TSynCustomHighlighter read GetHighlighter; end; { TEditorPage } {$ifdef USE_SPTBX} TEditorPage = class(TSpTBXTabSheet) {$else} TEditorPage = class(TTabSheet) {$endif} private FDefaultExt: ShortString; FEditor: TSynEdit; FExtension: ShortString; FFilename: ShortString; //Name der Editordatei FHighlighter: TSynCustomHighlighter; FHighlighters: THighlighters; FEmptyFileNames: TStringList; FHighlighterIX: Integer; {$ifdef fpc} FProcess: TProcess; //nur FPC Version {$endif} function HighlighterEquivalentToFileExt(AFileExt: ShortString): Integer; function GetHighlighter: Integer; procedure SetDefaultExt(Value: ShortString); procedure SetFilename(AFilename: ShortString); procedure SetHighlighter(AHighlighter: Integer); public //Compiler ist individuell für die Editordatei procedure Compile; procedure CompileSource(AFilename: ShortString); constructor Create(AOwner: TComponent); destructor Destroy; override; procedure LoadFromFile(AFilename: ShortString); procedure Save; procedure SaveAs(AFilename: ShortString); property Editor: TSynEdit read FEditor; property FileExt: ShortString read FExtension write FExtension; property Filename: ShortString read FFilename write SetFilename; property Highlighter: Integer read GetHighlighter write SetHighlighter; property DefaultExt: ShortString write SetDefaultExt; end; TEditorsList = class(TObjectList) private function GetEditors(Index: Integer): TEditorPage; public function AddEditor(AEditor: TEditorPage): Integer; property Editors[Index: Integer]: TEditorPage read GetEditors; default; end; (* Here the Editor-PageControl follows *) { TEditorPages } {$ifdef USE_SPTBX} TEditorPages = class(TSpTBXTabControl) {$else} TEditorPages = class(TPageControl) {$endif} private FProjectName: ShortString; //Name des Projektes {$ifdef fpc} FProcess: TProcess; //nur FPC Version zum Start des Compilers {$endif} function GetEditorPages: TEditorpages; public //Compiler ist derjenige der das Projekt überstzt //Compiler des einzelnen Editors kann dagegen eine andere Programmiersprache //übersetzen und den Bin-code in den Code des Projektes linken procedure Compile; procedure CompileProject(AProject: ShortString); procedure Debug; procedure DebugProject(AProjectName: ShortString); procedure OpenEditor(AFilename: ShortString); procedure CloseCurrentEditor; constructor Create(AOwner: TComponent); destructor Destroy; override; procedure Save; procedure SaveAs(AFilename: ShortString); procedure SaveAll; property Editors: TEditorPages read GetEditorPages; {$ifdef fpc} {$endif} end; { TEditorPagesContainer } TEditorPagesContainer = class(TPanel) private FEditorPage: TEditorsList; FEditPage: TObjectList; FEditorPages: TEditorPages; function GetPageCount: Integer; public procedure OpenEditor(AFilename: ShortString); procedure CloseCurrentEditor; constructor Create(AOwner: TComponent); destructor Destroy; override; procedure Save; procedure SaveAs(AFilename: ShortString); procedure SaveAll; property Editors: TEditorPages read FEditorPages; property PageCount: Integer read GetPageCount; end; { TEditorWindow } TEditorWindow = class(TForm) private FDefaultExt: ShortString; FEditor: TSynEdit; FExtension: ShortString; FFilename: ShortString; FHighlighter: TSynCustomHighlighter; FHighlighters: THighlighters; FEmptyFileNames: TStringList; FHighlighterIX: Integer; {$ifdef fpc} FProcess: TProcess; //nur FPC Version {$endif} FStatusBar: TStatusBar; function HighlighterEquivalentToFileExt(AFileExt: ShortString): Integer; function GetHighlighter: Integer; procedure SetDefaultExt(value: ShortString); procedure SetFilename(AFilename: ShortString); procedure SetHighlighter(AHighlighter: Integer); public procedure Compile; procedure CompileSource(AFilename: ShortString); constructor Create(AOwner: TComponent); destructor Destroy; override; procedure NewFile; procedure LoadFromFile(AFilename: ShortString); procedure Save; procedure SaveAs(AFilename: ShortString); property FileExt: ShortString read FExtension write FExtension; property Filename: ShortString read FFilename write SetFilename; property Highlighter: Integer read GetHighlighter write SetHighlighter; property DefaultExt: ShortString write SetDefaultExt; end; var IDEEditor: TEditorPages; implementation { THighlighters } function THighlighters.GetHighlighter(Index: Integer): TSynCustomHighlighter; begin Result := TSynCustomHighlighter(Objects[Index]); end; function THighlighters.Add(AHighlighter: TSynCustomHighlighter): Integer; begin Result := AddObject(AHighlighter.Name, AHighlighter); end; { TEditorPage } procedure TEditorPage.SetDefaultExt(value: ShortString); begin if FDefaultExt<> value then FDefaultExt := value; end; function TEditorPage.HighlighterEquivalentToFileExt(AFileExt: ShortString ): Integer; begin if AFileExt = 'pas' then begin FEditor.Highlighter := TSynPasSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 0; end; if AFileExt = 'pp' then begin FEditor.Highlighter := TSynPasSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 1; end; if (AFileExt = 'cpp') or (AFileExt = 'c') then begin FEditor.Highlighter := TSynCppSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 2; end; if (AFileExt = 'lfm') or (AFileExt = 'dfm') then begin FEditor.Highlighter := TSynDfmSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 3; end; if AFileExt = 'java' then begin FEditor.Highlighter := TSynJavaSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 4; end; if AFileExt = 'perl' then begin FEditor.Highlighter := TSynPerlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 5; end; if AFileExt = 'html' then begin FEditor.Highlighter := TSynHtmlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 6; end; if AFileExt = 'xml' then begin FEditor.Highlighter := TSynXmlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 7; end; if AFileExt = 'css' then begin FEditor.Highlighter := TSynCssSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 8; end; if AFileExt = 'php' then begin FEditor.Highlighter := TSynPhpSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 9; end; if AFileExt = 'sql' then begin FEditor.Highlighter := TSynSqlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 10; end; if AFileExt = 'python' then begin FEditor.Highlighter := TSynPythonSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 11; end; { if (AFileExt = 'asm') or (AFileExt = 'as') then begin FEditor.Highlighter := TSynAsmSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 12; end; } end; function TEditorPage.GetHighlighter: Integer; begin Result := FHighlighterIX; end; procedure TEditorPage.SetFilename(AFilename: ShortString); begin LoadFromFile(AFilename); { FFilename := AFilename; if (FFilename <> '') and (POS('Noname', FFilename)=0) then begin FEditor.Lines.LoadFromFile(FFilename); Caption := FFilename; end else Caption := 'Untitled'; } end; procedure TEditorPage.SetHighlighter(AHighlighter: Integer); begin if FHighlighterIX >= FHighlighters.Count then ShowMessage('Diese Syntax wird vom Editor nicht unterstützt!'); if FHighlighterIX < FHighlighters.Count then if FHighlighterIX <> AHighlighter then begin FHighlighterIX := AHighlighter; FEditor.Highlighter := TSynCustomHighlighter(FHighlighters.Highlighters[FHighlighterIX]); Highlighter := FHighlighterIX; end; end; procedure TEditorPage.Compile; begin end; procedure TEditorPage.CompileSource(AFilename: ShortString); begin end; constructor TEditorPage.Create(AOwner: TComponent); begin inherited Create(AOwner); FHighlighters := THighlighters.Create; //nur UnixShellScript fehlt aus dem Repertoire der Lazarus Synedit-Highlighter FHighlighters.Add(TSynPasSyn.Create(self)); FHighlighters.Add(TSynCppSyn.Create(self)); FHighlighters.Add(TSynDfmSyn.Create(self)); FHighlighters.Add(TSynJavaSyn.Create(self)); FHighlighters.Add(TSynPerlSyn.Create(self)); FHighlighters.Add(TSynHtmlSyn.Create(self)); FHighlighters.Add(TSynXmlSyn.Create(self)); FHighlighters.Add(TSynCssSyn.Create(self)); FHighlighters.Add(TSynPHPSyn.Create(self)); FHighlighters.Add(TSynSQLSyn.Create(self)); FHighlighters.Add(TSynPythonSyn.Create(self)); FEmptyFileNames := TStringList.Create; FEmptyFileNames.Add('Noname.pas'); FEmptyFileNames.Add('Noname.pp'); FEmptyFileNames.Add('Noname.cpp'); FEmptyFileNames.Add('Noname.lfm'); FEmptyFileNames.Add('Noname.java'); FEmptyFileNames.Add('Noname.Perl'); FEmptyFileNames.Add('Noname.Html'); FEmptyFileNames.Add('Noname.xml'); FEmptyFileNames.Add('Noname.css'); FEmptyFileNames.Add('Noname.php'); FEmptyFileNames.Add('Noname.sql'); FEmptyFileNames.Add('Noname.python'); FEditor := TSynEdit.Create(self); FEditor.Parent := self; FEditor.Align := alClient; FDefaultExt := 'pas'; end; destructor TEditorPage.Destroy; begin if FEditor<>nil then FreeAndNil(FEditor); if FEmptyFileNames<>nil then FreeAndNil(FEmptyFileNames); if FHighlighters<>nil then FreeAndNil(FHighlighters); inherited Destroy; end; procedure TEditorPage.LoadFromFile(AFilename: ShortString); var Ext: ShortString; begin if (AFilename<>'') then begin Ext := ExtractFileExt(AFilename); System.Delete(Ext, 1, 1); //SetHighlighter(HighlighterEquivalentToFileExt(Ext)); FHighlighterIX := HighlighterEquivalentToFileExt(Ext); FEditor.Lines.LoadFromFile(AFilename); FFilename := AFilename; Caption := ExtractFilename(FFilename); end else begin Ext := FDefaultExt; FHighlighterIX := HighlighterEquivalentToFileExt(Ext); if (FHighlighterIX >= 0) and (FHighlighterIX < FEmptyFileNames.Count) then begin Caption := FEmptyFileNames[FHighlighterIX]; end else Caption := 'Untitled'; end; end; procedure TEditorPage.Save; begin //Wenn FFilename = '' dann Dateidialog aufrufen und Filename erfragen SaveAs(FFilename); end; procedure TEditorPage.SaveAs(AFilename: ShortString); begin FEditor.Lines.SaveToFile(AFilename); FFileName := AFilename; Caption := ExtractFileName(AFilename); end; { TEditorsList } function TEditorsList.GetEditors(Index: Integer): TEditorPage; begin Result := TEditorPage(Items[Index]); end; function TEditorsList.AddEditor(AEditor: TEditorPage): Integer; begin Result := Add(AEditor); end; { TEditorPages } function TEditorPages.GetEditorPages: TEditorpages; begin Result := self; end; procedure TEditorPages.Compile; begin end; procedure TEditorPages.CompileProject(AProject: ShortString); begin end; procedure TEditorPages.Debug; begin end; procedure TEditorPages.DebugProject(AProjectName: ShortString); begin end; procedure TEditorPages.OpenEditor(AFilename: ShortString); var Page: TEditorPage; begin Page := TEditorPage.Create(self); Page.LoadFromFile(AFileName); {$ifdef USE_SPTBX} Page.TabControl := self; {$else} Page.PageControl := self; {$endif} end; procedure TEditorPages.CloseCurrentEditor; var mResult: Integer; begin if TEditorPage(ActivePage).Editor.Modified then begin mResult := MessageDlg('', mtWarning, [mbYes, mbNo, mbCancel], 0); if MResult = mrYes then TEditorPage(ActivePage).Save; end; ActivePage.Free; end; constructor TEditorPages.Create(AOwner: TComponent); begin inherited Create(AOwner); {$ifdef fpc} Process := TProcess.Create(self); {$endif} end; destructor TEditorPages.Destroy; begin {$ifdef fpc} if Process<>nil then FreeAndNil(Process); {$endif} inherited Destroy; end; procedure TEditorPages.Save; begin TEditorPage(ActivePage).Save; end; procedure TEditorPages.SaveAs(AFilename: ShortString); begin TEditorPage(ActivePage).SaveAs(AFileName); end; procedure TEditorPages.SaveAll; var Index: Integer; begin for Index := IdeEditor.PageCount - 1 downto 0 do TEditorPage(Pages[Index]).Save; end; { TEditorPagesContainer } function TEditorPagesContainer.GetPageCount: Integer; begin Result := FEditorPages.PageCount; end; procedure TEditorPagesContainer.OpenEditor(AFilename: ShortString); var Editor: TEditorPage; Extension: ShortString; Index: Integer; begin { Editor := TEditorPage.Create(self); Editor.PageControl := FEditorPages; Editor.LoadFromFile(AFilename); } Index := FEditPage.Add{Editor}(TEditorPage.Create(self)); TEditorPage(FEditPage[Index]).Parent := self; {$ifdef USE_SPTBX} TEditorPage(FEditPage[Index]).TabControl := FEditorPages; {$else} TEditorPage(FEditPage[Index]).PageControl := FEditorPages; {$endif} TEditorPage(FEditPage[Index]).LoadFromFile(AFilename); //Extension := ExtractFileExt(AFileName); //System.Delete(Extension, 1, 1); //Editor.HighlighterEquivalentToFileExt(Extension); //Editor.Highlighter := HIGHLIGHTER_PAS; //Editor.Editor.Highlighter := TSynPasSyn.Create(self); end; procedure TEditorPagesContainer.CloseCurrentEditor; var MResult: Word; begin if TEditorPage(FEditorPages.ActivePage).Editor.Modified then begin mResult := MessageDlg('', mtWarning, [mbYes, mbNo, mbCancel], 0); if MResult = mrYes then TEditorPage(FEditorPages.ActivePage).Save; end; if (FEditorPages<>nil) and (FEditorPages.ActivePage<>nil) then FEditorPages.ActivePage.Free; end; constructor TEditorPagesContainer.Create(AOwner: TComponent); begin inherited Create(AOwner); FEditorPages := TEditorPages.Create(AOwner); FEditorPages.Align := alClient; FEditorPages.Parent := self; FEditorPage := TEditorsList.Create; FEditPage := TObjectList.Create; end; destructor TEditorPagesContainer.Destroy; begin if FEditPage<>nil then FreeAndNil(FEditPage); if FEditorPage<>nil then FreeAndNil(FEditorPage); if FEditorPages<>nil then FreeAndNil(FEditorPages); inherited Destroy; end; procedure TEditorPagesContainer.Save; begin TEditorPage(FEditorPages.ActivePage).Save; end; procedure TEditorPagesContainer.SaveAs(AFilename: ShortString); begin TEditorPage(FEditorPages.ActivePage).SaveAs(AFilename); //TEditorPage(FEditorPages.ActivePage).Caption := ExtractFileName(AFilename); end; procedure TEditorPagesContainer.SaveAll; var Index: Integer; begin for Index := IdeEditor.PageCount - 1 downto 0 do TEditorPage(FEditorPages.Pages[Index]).Save; end; { TEditorWindow } procedure TEditorWindow.SetDefaultExt(value: ShortString); begin if FDefaultExt<> value then FDefaultExt := value; end; function TEditorWindow.HighlighterEquivalentToFileExt(AFileExt: ShortString ): Integer; begin if AFileExt = 'pas' then begin FEditor.Highlighter := TSynPasSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 0; end; if AFileExt = 'pp' then begin FEditor.Highlighter := TSynPasSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 1; end; if AFileExt = 'cpp' then begin FEditor.Highlighter := TSynCppSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 2; end; if (AFileExt = 'lfm') or (AFileExt = 'dfm') then begin FEditor.Highlighter := TSynDfmSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 3; end; if AFileExt = 'java' then begin FEditor.Highlighter := TSynJavaSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 4; end; if AFileExt = 'perl' then begin FEditor.Highlighter := TSynPerlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 5; end; if AFileExt = 'html' then begin FEditor.Highlighter := TSynHtmlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 6; end; if AFileExt = 'xml' then begin FEditor.Highlighter := TSynXmlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 7; end; if AFileExt = 'css' then begin FEditor.Highlighter := TSynCssSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 8; end; if AFileExt = 'php' then begin FEditor.Highlighter := TSynPhpSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 9; end; if AFileExt = 'sql' then begin FEditor.Highlighter := TSynSqlSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 10; end; if AFileExt = 'python' then begin FEditor.Highlighter := TSynPythonSyn.Create(self); FHighlighter := FEditor.Highlighter; Result := 11; end; end; function TEditorWindow.GetHighlighter: Integer; begin Result := FHighlighterIX; end; procedure TEditorWindow.SetFilename(AFilename: ShortString); begin LoadFromFile(AFilename); end; procedure TEditorWindow.SetHighlighter(AHighlighter: Integer); begin if FHighlighterIX >= FHighlighters.Count then ShowMessage('Diese Syntax wird vom Editor nicht unterstützt!'); if FHighlighterIX < FHighlighters.Count then if FHighlighterIX <> AHighlighter then begin FHighlighterIX := AHighlighter; FEditor.Highlighter := TSynCustomHighlighter(FHighlighters.Highlighters[FHighlighterIX]); Highlighter := FHighlighterIX; end; end; procedure TEditorWindow.Compile; begin end; procedure TEditorWindow.CompileSource(AFilename: ShortString); begin end; constructor TEditorWindow.Create(AOwner: TComponent); begin inherited Create(AOwner); FormStyle := fsMDIChild; FHighlighters := THighlighters.Create; //nur UnixShellScript fehlt aus dem Repertoire der Lazarus Synedit-Highlighter FHighlighters.Add(TSynPasSyn.Create(self)); FHighlighters.Add(TSynCppSyn.Create(self)); FHighlighters.Add(TSynDfmSyn.Create(self)); FHighlighters.Add(TSynJavaSyn.Create(self)); FHighlighters.Add(TSynPerlSyn.Create(self)); FHighlighters.Add(TSynHtmlSyn.Create(self)); FHighlighters.Add(TSynXmlSyn.Create(self)); FHighlighters.Add(TSynCssSyn.Create(self)); FHighlighters.Add(TSynPHPSyn.Create(self)); FHighlighters.Add(TSynSQLSyn.Create(self)); FHighlighters.Add(TSynPythonSyn.Create(self)); FEmptyFileNames := TStringList.Create; FEmptyFileNames.Add('Noname.pas'); FEmptyFileNames.Add('Noname.cpp'); FEmptyFileNames.Add('Noname.lfm'); FEmptyFileNames.Add('Noname.java'); FEmptyFileNames.Add('Noname.Perl'); FEmptyFileNames.Add('Noname.Html'); FEmptyFileNames.Add('Noname.xml'); FEmptyFileNames.Add('Noname.css'); FEmptyFileNames.Add('Noname.php'); FEmptyFileNames.Add('Noname.sql'); FEmptyFileNames.Add('Noname.python'); FStatusBar:= TStatusBar.Create(self); FStatusBar.Parent := self; FEditor := TSynEdit.Create(self); FEditor.Parent := self; FEditor.WordWrap := false; FEditor.WantTabs := true; FEditor.WantReturns := true; FEditor.Align := alClient; FDefaultExt := 'pas'; end; destructor TEditorWindow.Destroy; begin //FEditor.Free; //FStatusBar.Free; FEmptyFileNames.Free; FHighlighters.Free; inherited Destroy; end; procedure TEditorWindow.NewFile; begin LoadFromFile(''); end; procedure TEditorWindow.LoadFromFile(AFilename: ShortString); var Ext: ShortString; begin if (AFilename<>'') then begin Ext := ExtractFileExt(AFilename); System.Delete(Ext, 1, 1); //SetHighlighter(HighlighterEquivalentToFileExt(Ext)); FHighlighterIX := HighlighterEquivalentToFileExt(Ext); FEditor.Lines.LoadFromFile(AFilename); FFilename := AFilename; Caption := ExtractFilename(FFilename); end else begin Ext := FDefaultExt; FHighlighterIX := HighlighterEquivalentToFileExt(Ext); if (FHighlighterIX >= 0) and (FHighlighterIX < FEmptyFileNames.Count) then Caption := FEmptyFileNames[FHighlighterIX] else Caption := 'Untitled'; end; end; procedure TEditorWindow.Save; begin SaveAs(FFilename); end; procedure TEditorWindow.SaveAs(AFilename: ShortString); begin FEditor.Lines.SaveToFile(AFilename); FFilename := AFilename; Caption := ExtractFileName(AFilename); end; end. |
AW: DesignIntf nicht gefunden
Zitat:
Wenn Du sie aus dem SynEdit-Code entfernst, compiliert das Designtime-Package von SynEdit nicht mehr. Das stört zwar aktuell nicht, aber beim nächsten Versuch es zu compilieren oder installieren wirst Du dich dann nicht mehr an diese Änderung erinnern und ewig nach dem Grund suchen. Zitat:
Wenn das in diesem Programm war, wirf es dort auch wieder raus. Es hat in einem Programm nichts zu suchen. |
AW: DesignIntf nicht gefunden
Einfach stumpf alle pas Dateien ins uses der dpr zu packen, war der Fehler, denn dort stehen nun auch Units drin, die nur für das SynEdit Designtime package da sind!
|
AW: DesignIntf nicht gefunden
Zitat:
|
AW: DesignIntf nicht gefunden
Zitat:
|
AW: DesignIntf nicht gefunden
Danke Euch allen! :cheers: Ich musste wirklich die Synedit(s) aus der .dpr entfernen und dann noch den Namen meiner Form anpassen.
Form2 statt SynEditKeyStrokeEditorForm. Und natürlich Begin End Klammer ergänzen. Warum macht das Delphi nicht mehr automatisch?
Delphi-Quellcode:
Hatte mich schon gewundert, warum de Begin End- Klammer gefehlt hat.
program Edit;
uses Vcl.Forms, UFrame in 'UFrame.pas' {Frame1: TFrame}, UEditor in 'UEditor.pas' {Form2: TForm2}; //Synedit(s) entfernt, dafür Suchpfad ergänzt begin //Begin und Application.CreateForm(TForm2, Form2); Application.Initialize; // Diese beiden Zeilen Application.Run; // händisch hinzugefügt, früher hat das Delphi automatisch erledigt end. //End. hinzugefügt Werde mal testen wie sich Delphi diesbezüglich bei anderen Projekten verhält. Aber nun kann ich mein Projekt übersetzen und auch ausführen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 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