Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Synedit fehler bei loadfromfile (https://www.delphipraxis.net/138332-synedit-fehler-bei-loadfromfile.html)

Chefx 7. Aug 2009 17:44


Synedit fehler bei loadfromfile
 
Ich weiß nicht so richtig wo mein Fehler ist.
Hier mal mein Script:
Delphi-Quellcode:
var
  Form23: TForm23;
  FSynEdit:TSynEdit;
implementation

{$R *.dfm}

procedure TForm23.FileListBox1Change(Sender: TObject);
begin
if FileListBox1.ItemIndex >-1 then
      WebBrowser1.Navigate(FileListBox1.FileName);
      FSynEdit.Lines.LoadFromFile(FileListBox1.FileName);
end;

procedure TForm23.FormCreate(Sender: TObject);
var
  FsynHtml: TSynHtmlSyn;
  col:string;
begin
 FSynEdit := TSynEdit.Create(self);
  // SynEdit auf das Formular packen
  FSynEdit.Parent := Self;
  // SynEdit über das komplette Formular strecken
  FSynEdit.Align := alleft;
  FsynEdit.Width:=350;
  FSynEdit.ReadOnly:=true;
  // Zeilennummerierung einschalten
  FSynEdit.Gutter.ShowLineNumbers := true;
  // Tabs einschalten
  FsynEdit.WantTabs:=true;

    FSynHtml := TsynHtmlSyn.Create(self);
   // Farbdefinitionen
   FSynHtml.CommentAttri.Style:=[fsitalic];
   FsynHtml.CommentAttri.Foreground:=$00B0B0B0;
   Fsynhtml.KeyAttri.Style:=[fsbold];
   Fsynhtml.IdentifierAttri.Style:=[];
   FsynHtml.IdentifierAttri.Foreground:=clblue;
   FsynHtml.UndefKeyAttri.Foreground:=$000080FF;
   Fsynhtml.SymbolAttri.Style:=[];
   FsynHtml.SymbolAttri.Foreground:=clblue;
   FsynHtml.ValueAttri.Foreground:=$00C7C7C7;

      //Kommentar


   FSynEdit.Highlighter := FSynHtml;

end;
Wo das Form erstellt wird, erstelle ich dynamsich das SynEdit.
Dann lade ich den Script in das Synedit.
Aber wenn ich mein Projekt start beendet er die sachen wegen den hier
Delphi-Quellcode:
   FSynEdit.Lines.LoadFromFile(FileListBox1.FileName);
Fehler:
Code:
Erste Gelegenheit für Exception bei $774842EB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 00538D2E in Modul 'xlite.exe'. Lesen von Adresse 0000028C'. Prozess xlite.exe (7024)
:glaskugel:

Aber wo leigt mein Fehler? :gruebel:

mirage228 7. Aug 2009 17:48

Re: Synedit fehler bei loadfromfile
 
Delphi-Quellcode:
procedure TForm23.FileListBox1Change(Sender: TObject);
begin
  if (FileListBox1.ItemIndex <> -1) and (FSynEdit <> nil) then
  begin // <-- wichtig bei mehreren Anweisungen nach einem IF
    WebBrowser1.Navigate(FileListBox1.FileName);
    FSynEdit.Lines.LoadFromFile(FileListBox1.FileName);
  end;
end;
Viele Grüße

P.S.: Da das FSynEdit ja zum Formular gehört, würde ich die Variablendeklaration in den "private" oder "protected" Abschnitt des Formulars ablegen.

Chefx 7. Aug 2009 18:04

Re: Synedit fehler bei loadfromfile
 
oh :wall:

stimmt ich hab das ganz übersehen.

danke :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 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