AGB  ·  Datenschutz  ·  Impressum  







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

[UniSynEdit] Zugriffsverletzung bei SynGen

Ein Thema von Zwoetzen · begonnen am 10. Feb 2009 · letzter Beitrag vom 11. Feb 2009
Antwort Antwort
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#1

[UniSynEdit] Zugriffsverletzung bei SynGen

  Alt 10. Feb 2009, 22:25
Hi DP'ler

immer wenn hier im Forum das Wort Highlighter fällt, kommt direkt darauf die Komponente SynEdit ^^

Da ich für mein aktuelles Projekt einen eigenen Highlighter ganz gut gebrauchen könnte, hab ich mir mal das SynEdit (bzw. genauer gesagt das UniSynEdit wegen D2009) runtergeladen und angeschaut. Soweit so gut...

Hab nun angefangen, dass Tutorial durchzuarbeiten, aber ich kriege das SynGen einfach nicht zum Laufen:
Nach dem ich das SynGen-Projekt geöffnet, kompiliert, gestartet und die .msg Datei (Das erste Beispiel) geladen habe, sollte man ja irgendwann auch mal auf Start klicken ^^, aber da bekomm ich nur:
Zitat:
Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000
(bzw. die aufgeblähte Version, wenn ich es mit Debugger starte)


Kann mir jemand sagen, was ich falsch mache?

MfG Zwoetzen
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: [UniSynEdit] Zugriffsverletzung bei SynGen

  Alt 10. Feb 2009, 22:55
Zitat von Zwoetzen:
Kann mir jemand sagen, was ich falsch mache?
Ohne jeglichen Quelltext wird das schwierig

Vermutlich erzeugst du irgendwas nicht richtig - da die Fehlermeldung ja besagt, dass du auf etwas zugreifst, was es nicht gibt.
  Mit Zitat antworten Zitat
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#3

Re: [UniSynEdit] Zugriffsverletzung bei SynGen

  Alt 10. Feb 2009, 23:03
Es geht um das SynGen: Das liegt als fertiges Projekt vor und sollte entsprechend auch ohne Änderungen laufen, oder nicht?
  Mit Zitat antworten Zitat
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#4

Re: [UniSynEdit] Zugriffsverletzung bei SynGen

  Alt 11. Feb 2009, 11:36
Okay, habe den Fehler gefunden und konnte ihn beheben:

Beim Reinladen der .msg-Datei (via Stream) wurde der Inhalt komplett zerstört (bzw falsch interpretiert), sodass zB statts "AB" irgendein chinesisches/japanisches Zeichen dabei rauskam. Habe nun das Reinladen der Datei anstatt über einen Stream über eine TStringList realisiert, und nun funktioniert auch alles so, wie es soll: Das Programm läuft durch und tut das, was es soll
(kA ob das auch über Streams zu reparieren gewesen wäre... Hab noch nie mit Streams gearbeitet ^^)

Der geänderte Code:
(Der auskommentierte Teil ist der ursprüngliche Code)
Delphi-Quellcode:
procedure TFrmMain.BtnStartClick(Sender: TObject);
var
  SL: TStringList; // <-- ADDED
begin
  ClearAll;

  Screen.Cursor := crHourGlass;

  // BEGIN EDIT
  SL := TStringList.Create;
  SL.LoadFromFile(OpenDialog.FileName);
  Lex.Origin := PWideChar(SL.Text);
  SL.Free;

(*
  Stream.Clear;
  Stream.LoadFromFile(OpenDialog.FileName);
  Lex.Origin := Stream.Memory;
*)

  // END EDIT

  Lex.Tokenize; // <-- Hier drin hats immer geknallt, weil der Dateiinhalt falsch interpretiert wurde
  [...]
end;
MfG Zwoetzen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: [UniSynEdit] Zugriffsverletzung bei SynGen

  Alt 11. Feb 2009, 12:44
Hallo,

würde auch dasLex.Origin := PWideChar(Stream.Memory); funktionieren?
(Habe keine passende Delphiversion, um das selbst auszuprobieren )
  Mit Zitat antworten Zitat
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#6

Re: [UniSynEdit] Zugriffsverletzung bei SynGen

  Alt 11. Feb 2009, 13:03
Zitat von nahpets:
Hallo,

würde auch dasLex.Origin := PWideChar(Stream.Memory); funktionieren?
(Habe keine passende Delphiversion, um das selbst auszuprobieren )
Nein, das ändert nichts an der Fehlinterpretation der Datei, dh anschließend stehen in Lex.Origin wieder fast komplett chinesische Zeichen.
(Kann jemand chinesisch? Vielleicht isses ne geheime Botschaft )
  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 01:08 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