AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi EInvalid Operation "Element hat kein übergeodnetes Fenster"
Thema durchsuchen
Ansicht
Themen-Optionen

EInvalid Operation "Element hat kein übergeodnetes Fenster"

Ein Thema von ATS3788 · begonnen am 12. Jan 2013 · letzter Beitrag vom 12. Jan 2013
Antwort Antwort
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 09:40
Hallo

Habe dies schon gelesen
http://www.delphipraxis.net/159070-e...s-fenster.html

Mein Problem geht in eine andere Richtung.

Ich habe ein TRichEdit Stream und da hat man nun mal die Formatierungen.

Also dachte ich mir ich erstelle mit Create eine TRichEdit Komponente.
und extrahiere mir den Plain Text. Was auch gut funktioniert wenn man
dies auf einem TForm macht.
Nur dummerweise habe ich KEIN übergeordnetes Fenster.

Meine Frage

Wie komme ich sonst an den Plain Text ohne Formatierung ?
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 10:08
Wenn es keine Konsolenanwendung ist, dürfte es das Einfachste sein, das RichEdit unsichtbar zu stellen und irgendein Fenster als Parent zuzuweisen. Zur Not erstellt man sich halt ein Dummy-Fenster und nimmt das dann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 10:09
Nimm doch ein Dummyform mit RichEdit, anzeigen musst Du es ja nicht ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 10:17
Wenn Du ein wenig Zeit investierst, dann konvertierst Du diesen Code von C nach Delphi, oder diesen hier von LUA nach Delphi.

Bezüglich der Codierung müsstest Du mal schauen, was das ist. Aber das sollte kein Problem sein. Entweder stehts im RTF-Quelltext (parsen) oder es ist irgend ein Standard.

PS: Der Threadtitel ist irreführend, denn Du willst 'RTF nach plain text konvertieren' und hast kein Problem mit irgendeiner Exception.
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#5

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 11:41
Danke für die Infos
werde sie mir später anschauen

bin auf dies gestoßen

http://de.softuses.com/302701
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 11:49
Wie war das mit Dummy-Fenster? OK, ein Handle genügt ja bereits, aber ohne dieses geht es eben nicht mit einem RichEdit.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#7

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 12:53
Delphi-Quellcode:
function RTF_To_Plain_Text(S : AnsiString) : string;
var
Stream : TMemoryStream;
RichEdit : TRichEdit;
begin
try
Stream := TMemoryStream.Create;
Stream.WriteBuffer(pointer(S)^ , length(S));
try
RichEdit := TRichEdit.CreateParented(HWND_MESSAGE);
RichEdit.Parent := nil;
RichEdit.PlainText := false;
RichEdit.WordWrap := false;
RichEdit.Visible := false;

Stream.Position := 0;
RichEdit.Lines.LoadFromStream(Stream);

Result := RichEdit.Lines.Text;
finally
RichEdit.Free;
end;
finally
Stream.Free;
end; end;
Also gelöst habe ich es so
Schönes Wochenende
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 12:55
Du hast das try jeweils falsch gesetzt.
Delphi-Quellcode:
bla := Tbla.Create;
try
  bla.Machwas;
finally
  bla.Free;
end;
So wäre es richtig.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 13:21
RichEdit := TRichEdit.CreateParented(HWND_MESSAGE);
Jetzt entwickel ich mehr als 15 Jahre mit Delphi und das ist etwas was ich schon 2-3 mal gebraucht hätte.
Man lernt doch nicht aus ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

AW: EInvalid Operation "Element hat kein übergeodnetes Fenster"

  Alt 12. Jan 2013, 13:25
Message-Only Windows, das wurde in der DP gelegentlich schon angesprochen. Ich vergesse das selbst aber auch gern immer wieder
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 03: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