Hmm - mal so eine Frage aus dem Hintergrund: wäre es viel Arbeit, die Komponente für Delphi7 anzupassen? Ich haben eben versucht, diese zu kompilieren, aber D7 kennt wohl noch keine WideStringLists...
Es wäre sicher vermessen zu fragen, ob man die entsprechenden
DCU-Files bekommen könnte,oder (keine Ahnung, inwieweit sich das mit den Borland-Lizenzen beißt)?
Da die Komponente wirklich Eindruck macht, wäre sowas für den Splashscreen oder den Aboutdialog meiner Anwendung ideal...
vielen Dank,
Christian
PS: Ich habe jetzt mal ein wenig rumgecodet und siehe da, die Komponente läuft jetzt schonmal während der Designzeit (also Scrollt munter vor sich hin.) Starte ich allerdings meine Anwendung, bekomme ich ununterbrochen Zugriffsverletzungen... woran könnte das liegen?
Ich habe derzeit nur die "WidestringLists" durch normale "StringLists" ausgetauscht und die Compileranweisungen {$REGION ...} auskommentiert. Der Fehler tritt in der StrUtils.pas auf, also hats schonmal was mit meinem Austauschen der Stringlists zu tun - aber wo im Code muss ich suchen?
Danke
Delphi-Quellcode:
lCurTagBegin := CurPos - 1;
lCurTagEnd := PosEx(']', CurLine, lCurTagBegin);
lCurTagName := Copy(CurLine, lCurTagBegin, lCurTagEnd - lCurTagBegin + 1);
if CheckTag(lCurtagName, lCurTag) then
begin
lNexTagBegin := lCurTagEnd - 1;
lNexTagName := '';
while not CheckTag(lNexTagName, lNexTag) do
begin
lNexTagBegin := PosEx('[', CurLine, lNexTagBegin + 1);
lNexTagEnd := PosEx(']', CurLine, lNexTagBegin);
lNexTagName := Copy(CurLine, lNexTagBegin, lNexTagEnd - lNexTagBegin + 1);
if (lNexTagEnd = 0) or (lNexTagBegin = 0) then
begin
lNexTagBegin := Length(CurLine) + 1;
Break;
end;
end;
Diese Codezeilen lösen die
Exception aus. Die Funktion PosEx löst den Fehler bei den Zeilen "lCurTagEnd", "lCurTagName" und "lNexTagEnd", "lNexTagName" aus.
Im Anhang ist die Komponentendatei, welche bei mir unter D7 zwar läuft, aber nur solange man in der ersten Zeile Text stehen hat. Leider werden aufgrund des PosEx-Fehlers auch die Taganweisungen nicht gelöscht. Ansonsten Scrollt das bei mir jetzt auch bei laufendem Programm. Vielleicht kann sich das einer mal anschauen, der etwas mehr Ahnung von Komponenten hat, als ich.