Hallo liebe Delphi-Helfer 
 
Ich habe ein TcMemo-Objekt mit dem ich Memo-Felder aus der Datenbank verarbeite, bzw. verarbeiten will.
Solange ich von TcMemo zu TRichEdit oder umgekehrt arbeite, funktioniert mein Objekt wunderbar.
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 
 |   A.Teilebezeichnung.SetRichEdit(reRichEdit);B.Teilebezeichnung.GetRichEdit(reRichEdit);
 | 
		
	  
So hat meine B.Teilebezeichnung die Bezeichnung von A übernommen.
Mein Problem ist nun aber, dass ich die Bezeichnung von A zu B haben will, ohne ein TRichEdit dazwischen zu klemmen.
Zumindest nicht, in dem Formular wo ich das anwende:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:
 |   A.Teilebezeichnung.AsRTF := B.Teilebezeichnung.AsRTF;					 | 
		
	  
Funktioniert aber nicht. B.Teilebezeichnung bleibt leer.
Wie muss meine Procedur TcMemo.SetRTF ausgehen damit das klappen könnte?
Gern auch ganz ohne ein TRichEdit das darin erzeugt werden muss.
												| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 26:
 27:
 28:
 29:
 30:
 31:
 32:
 33:
 34:
 35:
 36:
 37:
 38:
 39:
 40:
 41:
 42:
 43:
 44:
 45:
 46:
 47:
 48:
 49:
 50:
 51:
 52:
 53:
 54:
 55:
 56:
 57:
 58:
 59:
 
 |   TcMemo = classprivate
 FRTF: TMemoryStream;
 FString: String;
 procedure SetString(const psWert: String);
 procedure SetRTF(pcWert: TMemoryStream);
 public
 constructor Create;
 procedure GetRichEdit(pcRichEdit: TRichEdit);
 procedure SetRichEdit(pcRichEdit: TRichEdit);
 published
 property AsString: String read FString write SetString;
 property AsRTF: TMemoryStream read FRTF write SetRTF;
 end;
 
 constructor TcMemo.Create;
 begin
 FRTF := TMemoryStream.Create;
 FString := '';
 end;
 
 procedure TcMemo.GetRichEdit(pcRichEdit: TRichEdit);
 begin
 FString := pcRichEdit.Text;
 FRTF := TMemoryStream.Create;
 
 pcRichEdit.Lines.SaveToStream(FRTF);
 FRTF.Position := 0;
 end;
 
 procedure TcMemo.SetRichEdit(pcRichEdit: TRichEdit);
 begin
 pcRichEdit.Text := FString;
 end;
 
 procedure TcMemo.SetRTF(pcWert: TMemoryStream);
 var
 cRichEdit: TRichEdit;
 begin
 cRichEdit := TRichEdit.Create(Application.MainForm);
 cRichEdit.ParentFont := False;
 cRichEdit.Parent := Application.MainForm;
 
 pcWert.Position := 0;
 cRichEdit.Lines.LoadFromStream(pcWert);
 
 cRichEdit.Lines.SaveToStream(FRTF);
 FRTF.Position := 0;
 
 FreeAndNil(cRichEdit);
 end;
 
 procedure TcMemo.SetString(const psWert: String);
 begin
 FString := Trim(psWert);
 end;
 |