AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi EOutOfResources: 'Fehler bei Einfügen von RichEdit -Zeile'
Thema durchsuchen
Ansicht
Themen-Optionen

EOutOfResources: 'Fehler bei Einfügen von RichEdit -Zeile'

Ein Thema von TStringlist · begonnen am 31. Okt 2005 · letzter Beitrag vom 17. Dez 2005
 
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#1

EOutOfResources: 'Fehler bei Einfügen von RichEdit -Zeile'

  Alt 31. Okt 2005, 12:11
Hi,

ich habe hier mal eine solche EOutOfResources-Exception, welche imo durch einen RichEdit-internen Fehler verursacht wird, reduplizierbar gemacht. Was mich daran jetzt u.a. interessieren würde ist, ob diese Exception mittels der folgenden Proc auch überall (also auf jedem PC) erzeugbar ist oder ob sich deren Auftauchen event. auch irgendwie noch etwas system- bzw. umgebungsabhängig verhält.


Hier also der Exception-Erzeugungs-Code (nötig dazu: 1*RichEdit, 1*Button, 2*Labels):

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var I : integer;
    AStr : String;
begin
  RichEdit1.Perform(EM_SetLimitText,$7ffffffe,0); // ist aber unnötig, da Text < 64KB

  with RichEdit1 do begin
    RichEdit1.Clear;
    AStr := '---------------------';
    RichEdit1.Lines.Add(AStr + '--------------');
    for I := 1 to 2440 do RichEdit1.Lines.Add(AStr);


    Lines.Insert(0,'on: ' + '00:00:00 ');
    Lines.Insert(2,'on: ' + DateToStr(Now) + ' 00:00');
    Lines.Insert(3,'on: ' + DateToStr(Now) + ' 24:00 00:00:00');


    SelStart := Perform(EM_LINEINDEX,3,0) + 37; // = Position des '00' in Zeile3
    SelLength := 2;
    SelText := '24'; // Austausch der ersten '00' durch ein '24'


    Label1.Caption := 'Chars = ' + IntToStr(Length(Lines.Text));
    Label2.Caption := 'Lines = ' + IntToStr(Lines.Count);
    Lines.Add('bla bla'); // <=== hier wird die Exception ausgelöst
  end;
end;

Im angehängten Bild befindet sich noch ein kleiner Screen-Shot vom Programm-Output für denjenigen Fall, bei dem die letzte Lines-Add()-Zeile im Code weggelassen wird (also z.B. mit Comment-Slashes davor). Dann tritt zwar keine Exception mehr auf, aber das dann angezeigte Endergebnis ist fehlermäßig auch ziemlich lustig.


Event. checken ja ein paar von euch mal kurz, ob diese Exception auf eurem Rechner ebenfalls eintritt. Auf meinem PC ist der Fehler jedenfalls beliebig wiederholbar. Und da der Code in allen Teilen eigentlich auch mehr oder weniger üblich ist, sieht das Ganze meines Erachtens also irgendwie schon nach einer echten Fehlfunktion des RichEdit-Controls aus. Eine, die dann natürlich auch immer und überall mal auf einen lauern könnte ...und wodurch das RichEdit doch auch eigentlich schon irgendwie unbrauchbar würde, oder?


Oder irre ich da etwa irgendwo??? Ansonsten bräuchte man für Progs, die man auch irgendwie mal etwas weitergeben möchte, dann doch wohl ein alternatives (fehlerloses) Text-Control. Eines, das zum RichEdit zwar möglichst kompatibel ist (zwecks einfachem Austausch in bisherigen Progs), welches aber auch wieder nicht davon abgeleitet sein sollte?


Was ich nicht brauche sind Tipps, mit denen ich den Error nur vordergründig etwas "wegdrücken" kann. Interessant wäre aber, was man gegen eine solche Fehlermöglichkeit prinzipiell tun könnte, um sie mit Sicherheit auszuschließen.


Thx im Voraus.


PS. Oder sollte man die Exception event. immer mit der Meldung abfangen: "Sorry, kleine Fehlfunktion des RichEdit-Controls, die Schuld dafür suchen Sie bitte bei der Firma Micro-Soft" ?
Angehängte Grafiken
Dateityp: jpg eoutofresourceerror_575.jpg (71,0 KB, 45x aufgerufen)
MfG (& Thx ggf.)
  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 15:01 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 by Thomas Breitkreuz