AGB  ·  Datenschutz  ·  Impressum  







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

Reise von Berlin nach Athens

Ein Thema von SearchBot · begonnen am 16. Aug 2024 · letzter Beitrag vom 23. Okt 2024
 
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#21

AW: Reise von Berlin nach Athens

  Alt 10. Sep 2024, 12:28
Gab es dort eine Überladung mit Variant? (wo dann drin der interne Typ des Variant ausgewertet wird)

Lösungen z.B. für Boolean:
Delphi-Quellcode:
json.AddPair(prop, Boolean(value));
json.AddPair(prop, VarToBool(value));
Nein, ich habe da nichts überladen. Das mit dem VarTo.. sieht interessant aus, das werde ich versuchen (im Moment habe ich es auskommentiert, weil ich noch andere Probleme habe ).

Gerade ein anderes kniffliges Problem:
Ich habe SynEdit aus dem GetIt installiert.
Und weil im Git es dazu keine Issue gibt (und auch wenn ich ein neues Projekt damit starte, problemlos), wird das wahrscheinlich nur bei mir das Problem sein. In einem neuen Projekt funktioniert das SynEdit mit den selben Einstellungen

Wenn ich jetzt mein Projekt öffne, das ein SynEdit enthält, sagt mir die IDE, bevor noch irgendwas davon erscheint:
Zitat:
Listenindex außerhalb des gültigen Bereichs (0). TList<System.Integer> ist leer
Aha!?

Die Details erzählen mir..
Zitat:
[23308D4C]{SynEditDR290.bpl} System.Generics.Collections. + $24
[23319B83]{SynEditDR290.bpl} Syneditwordwrap.TSynWordWrapPlugin.RowCount + $1F
[233465D9]{SynEditDR290.bpl} Synedit.TCustomSynEdit.GetDisplayRowCount + $75
[23312CCF]{SynEditDR290.bpl} Syneditkbdhandler.Finalization + $A67
[23312D8A]{SynEditDR290.bpl} Syneditkbdhandler.Finalization + $B22
[23339F5D]{SynEditDR290.bpl} Synedit.TCustomSynEdit.UpdateScrollBars + $41
[23341971]{SynEditDR290.bpl} Synedit.TCustomSynEdit.SizeOrFontChanged + $D1
[2333A748]{SynEditDR290.bpl} Synedit.TCustomSynEdit.WMSize + $1C
Wenn ich die Komponente in ein neues Projekt kopiere, kommt es nicht zu diesem Fehler.

Beim Ausführen meines Programms knallt es mit der selben Meldung in der unit SynEditWordWrap hier (die // stammen vom Autor):
Delphi-Quellcode:
  // fLineOffsets[n] is the index of the first row of the [n+1]th line.
  // e.g. Starting row of first line (0) is 0. Starting row of second line (1)
  // is fLineOffsets[0]. Clear?

  TSynWordWrapPlugin = class(TInterfacedObject, ISynEditBufferPlugin)
  private
    fLineOffsets: TList<Integer>;

[...]
constructor TSynWordWrapPlugin.Create(aOwner: TCustomSynEdit);
begin
  inherited Create; // just to work as reminder in case I revert it to a TComponent...
  if aOwner = nil then
    raise Exception.Create( 'Owner of TSynWordWrapPlugin must be a TCustomSynEdit' );
  fEditor := aOwner;
  fLineCount := fEditor.Lines.Count;
  fLineOffsets := TList<Integer>.Create;
  fRowLengths := TList<Integer>.Create;
  Reset;
end;

function TSynWordWrapPlugin.RowCount: integer;
begin
  if fLineCount > 0 then
    Result := fLineOffsets[fLineCount - 1]; // <---- da: EArgumentOutOfRangeException

  Assert(fRowLengths.Count = Result);
end;
Ich kenne mich mit Generics nicht aus - fehlt da was bei der Initialisierung? Woran kann das sonst liegen und wie behebe ich das?
  Mit Zitat antworten Zitat
 

 

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 05:37 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