AGB  ·  Datenschutz  ·  Impressum  







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

Richedit initialisieren

Ein Thema von blue_RP · begonnen am 28. Jul 2004 · letzter Beitrag vom 28. Jul 2004
Antwort Antwort
Seite 1 von 2  1 2      
blue_RP

Registriert seit: 22. Apr 2004
11 Beiträge
 
Delphi 7 Enterprise
 
#1

Richedit initialisieren

  Alt 28. Jul 2004, 11:20
Hallo,

ich will den Text der in ein Richedit eingetragen wird in einer TStrings-Variable speichern und später in einem anderen Richedit wieder anzeigen. Nur wenn nichts eingetragen wird, wie kann ich dann die TStrings-Variable initialisieren, damit später beim Anzeigen keine Exception wegen nil ausgelöst wird?

Danke schonmal im Voraus

René
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Richedit initialisieren

  Alt 28. Jul 2004, 11:44
nimm einfach ein TMemo
mmo := TMemo.Create

mmo.Lines := Richedit.Lines;
oder
mmo.Text := Richedit.Text

später:
Richedit2.Text := mmo.Text

Gruss
Matthias
ps
mmo.text ist ein TStrings object. Man sollte abstrakte datentypen nicht verwenden(delphi)
irgendwie gehts.....
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
243 Beiträge
 
Delphi 12 Athens
 
#3

Re: Richedit initialisieren

  Alt 28. Jul 2004, 13:24
Auch hier wieder das Problem, dass so (über Richedit.Text) eine evtl. vorhandene Formatierung im Richedit verlohren geht!

Grüsse!
  Mit Zitat antworten Zitat
blue_RP

Registriert seit: 22. Apr 2004
11 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Richedit initialisieren

  Alt 28. Jul 2004, 13:34
Hallo Matthias,

was muss ich denn beim Konstruktoraufruf für des TMemo als Parameter angeben, parameterlos gibts den leider nicht?
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Richedit initialisieren

  Alt 28. Jul 2004, 13:44
Das Memo will einen owner.
Kann Self oder nil sein.
Der Owner ist für das zerstören der Instanz von TMemo zuständig.
Bei nil musst du das selbst erledigen.

Memo.destroy

Wegen des formatierten Text ist das Benutzen von TMemo vielleicht doch nicht so gut.

ok probieren wir doch mit TStrings.

Du kannst eine private Var vom Typ TStrings deklarieren.
Danach kannst du direkt Richedit.Lines zuweisen.
Kein Create verwenden.

Also
Delphi-Quellcode:
var
   str :TStrings

procedure machwas;
begin
   str := Richedit1.Lines;
end;

procedure machwasanderes;
begin
   Richedit2.Lines := str;
end
Du brauchst dann auch kein Destroy für str, da du keine Instanz erzeugt hast.
Gruss
irgendwie gehts.....
  Mit Zitat antworten Zitat
blue_RP

Registriert seit: 22. Apr 2004
11 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Richedit initialisieren

  Alt 28. Jul 2004, 13:58
Ja so hatte ich es doch schon. Das Problem ist, wenn man nichts in das erste Richedit einträgt, wird später beim Anzeigen eine Exception ausgeworfen, dass nil nicht dem AnzeigeRichedit zugewiesen werden kann. Man müsste es irgendwie initialisieren.
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Richedit initialisieren

  Alt 28. Jul 2004, 14:05
Du musst die Zuweisung auf jeden Fall machen

str := RichEdit1.Lines

die TStrings variable ist in diesem Falle nur ein pointer.
die Zuweisung funktioniert auch dann, wenn das Richedit leer ist.
Der Zeiger str zeigt dann auf einen gültigen Speicherbereich, ist also nicht mehr nil.
Mache diese erste Zuweisung z.B. im Form.Create,
ansonsten erkläre etwas genauer worums dir geht
Gruss
Matthias
irgendwie gehts.....
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Richedit initialisieren

  Alt 28. Jul 2004, 14:08
Also mal ehr lich. Was soll bitte der Quatsch mit dem Memo? Wenn ich eine Stringlist berauche, aber nichts anzuzeigen haben, dann nehme ich eine TStringList. Alles andere ist schlicht und ergreifend Ressourcenverschwendung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Richedit initialisieren

  Alt 28. Jul 2004, 14:10
@Luckie
warum gleich so verstimmt???
wollte nur helfen...aber wenn dus besser kannst...
im übrigen habe ich diese Idee wieder verworfen.
Mit TStrings gehts, mit TStringList auch, braucht man aber ev,. nicht
irgendwie gehts.....
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Richedit initialisieren

  Alt 28. Jul 2004, 14:19
Sorry, wenn es etwas verstimmt klang. Aber so was amcht man einfach nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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