![]() |
Inkompatible Typen: TWebbrowser und TCaptionl
Hallo zusammen,
Delphi-Quellcode:
In der Procedurebezeichnung steht, HTMLCode: string;
procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var sl: TStringList; ms: TMemoryStream; begin WebBrowser.Navigate('about:blank'); while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; if Assigned(WebBrowser.Document) then begin sl := TStringList.Create; try ms := TMemoryStream.Create; try sl.Text := HTMLCode; sl.SaveToStream(ms); ms.Seek(0, 0); (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); finally ms.Free; end; finally sl.Free; end; end; end; Wenn ich aber jetzt dieser Variable einen String zuweise, z.B. memo1.text, bekomme ich die Meldung: Inkompatible Typen: TWebbrowser und TCaption. Was muss ich tun damit der Webbrowser meinen Text anzeigt? Der Text kommt übrigens aus einer E-Mail dessen Text mit HTML-Code in einem Memo angezeigt wird. Für Tipps, Tricks und Hilfe bedanke ich m ich LG |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
Zitat:
(ich würde fast drauf tippen, daß du vergessen hast den ersten Parameter mit anzugeben) ![]() |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
Bist du dir auch wirklich sicher, dass der Fehler in deinem Code-Abschnitt auftritt? - Wenn ja, dann gib uns doch mal die Zeile. Laut meiner Analyse sollte in deinem Code-Abschnitt ein Typ namens TCaption überhaupt nicht vorkommen.
Bernhard |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
|
AW: Inkompatible Typen: TWebbrowser und TCaptionl
Der erste Parameter TForm steht vorne an.
Der Fehler tritt auf wenn ich die Procedure in einer anderen aufrufe. Dafür ist sie gedacht. Aufruf: form.WB_LoadHTML(Memo1.Text); Hier tritt der Fehler beim Compilieren auf. |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
@himitsu: Ich hatte gedacht, dass wenigstens der Aufruf stimmt. Außerdem ist in dem angegebenen Codeschnipsel wirklich kein Memo.Text, sondern erst im Text danach.
Aber meine andere Vermutung scheint wohl doch zu stimmen: Als ersten Parameter will die Prozedur einen TWebbrowser haben. Dann erst das, was da rein soll. Du übergibst mit deinem "WB_LoadHTML(Memo1.Text);" gerade mal den Inhalt. Das heißt, du übergibst gar nicht den Webbrowser in den der Inhalt rein soll. Bernhard |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
Zitat:
Delphi-Quellcode:
P.S.: Ups - zu spät... :roll:
procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
//... |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
Ich habe vorhin den gesamten Quellcode der Procedure, an die Stelle gesetzt an der der Text der E-Mail in das Memo geschrieben wird.
Delphi-Quellcode:
Die Übergabe klappt ohne Probleme.
for intIndex := 0 to Pred(Msg.MessageParts.Count) do
begin if (Msg.MessageParts.Items[intIndex] is TIdAttachment) then begin //general attachment pnlAttachments.visible := true; li := lvMessageParts.Items.Add; li.ImageIndex := 8; li.Caption := TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename; li.SubItems.Add(TIdAttachment(Msg.MessageParts.Items[intIndex]).ContentType); end else begin //body text if Msg.MessageParts.Items[intIndex] is TIdText then begin WebBrowser.Navigate('about:blank'); while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; if Assigned(WebBrowser.Document) then begin sl := TStringList.Create; try ms := TMemoryStream.Create; try sl.Text := TIdText(Msg.MessageParts.Items[intIndex]).Body.Text); sl.SaveToStream(ms); ms.Seek(0, 0); (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); finally ms.Free; end; finally sl.Free; end; end; Ich glaube, dass ich es erst mal so lasse. Allerdings müßte ich die Procedure dann noch mal schreiben(kopieren), wenn die Mail aus der Datenbank aufgerufen wird. Das wollte ich verhindern. LG |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
ja, es reicht ja, wenn du der Prozedur noch deinen TWebbrowser übergibst. Dass du die Parameter gleich benennst, heißt nicht, dass sich der Compiler den auch sofort holt. Der Compiler denkt nicht, er macht nur das, was du ihm versuchst mitzuteilen.
Bernhard |
AW: Inkompatible Typen: TWebbrowser und TCaptionl
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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-2025 by Thomas Breitkreuz