AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Bindings und Memos

Ein Thema von Neutral General · begonnen am 17. Jul 2014
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Problem mit Bindings und Memos

  Alt 17. Jul 2014, 09:15
Hallo,

Ich habe die Properties eines Objekts an einige Controls des Formulars gebunden.
Wenn nun in das Objekt selbst Daten geladen werden durchlaufe ich per RTTI die
Properties des Objects und rufe
TBindings.Notify(Self, <PropertyName>);
auf um die gebundenen Controls zu benachrichtigen.
Das funktioniert soweit auch gut, bremst allerdings ein wenig aus.
Habe also rausgefunden dass es um einiges schneller ist wenn ich nur am Ende 1x
TBindings.Notify(Self);
aufrufe. Problem bei der Sache ist nur dass ich dann meistens (nicht jedes mal -.-) beim Setzen
des Memo-Texts über die Bindings diese Exception kriege:

Zitat:
Im Projekt #### ist eine Exception der Klasse EInvalidOperation mit der Meldung 'Text überschreitet Memo-Kapazität' aufgetreten.
Die kommt hier her:

Delphi-Quellcode:
// Vcl.StdCtrls

procedure TMemoStrings.SetTextStr(const Value: string);
var
  NewText: string;
begin
  NewText := AdjustLineBreaks(Value);
  if (Length(NewText) <> Memo.GetTextLen) or (NewText <> Memo.Text) then
  begin
    if SendTextMessage(Memo.Handle, WM_SETTEXT, 0, NewText) = 0 then
      raise EInvalidOperation.Create(SInvalidMemoSize); // <---
    Memo.Perform(CM_TEXTCHANGED, 0, 0);
  end;
end;
Ich hab keine Ahnung warum das auftritt. WM_SETTEXT gibt aus irgendeinem Grund 0 zurück aber der String der dem Memo zugewiesen soll ist um die 350 Zeichen lang, von daher macht die Meldung keinen Sinn. Gibt es noch andere Gründe warum das fehlschlagen kann?
Ich bin etwas ratlos..
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  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 12:15 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