DHTMLEdit kullanan var mı?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

DHTMLEdit kullanan var mı?

Mesaj gönderen naile »

Geçen günkü html editor arayışımı ActiveX deki DHTML Edit Control ile çözmeye çalışıyorum. Tam istediğim gibi birşey ama bir sorun var maalesef. DHTMLEdit in LoadDocument fonksiyonunu kullanarak bir html dosyayı gösterebiliyoruz. Ama bu şekilde gösterdikten sonra form kapanırken bir hata veriyor (kapanışta hiçbir kod yok). Verdiği hata şu şekilde:

önce:The memory could not be "written"

ok dedikten sonra da "Access violation"

Componentin kendi unitine baktım kapanışta çalışan herhangi bir olay var mı diye çalışan bişey de bulamadım. Kullanmış olan var mı acaba? Veya bu hata neden olabilir sizce?
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

Bu çok şahane bir şeymiş. Tek başına program gibi :)

LoadDocument çağrısını yaparken hangi tipte, nasıl parametre kullanıyorsunuz. Sanırım sorun bununla ilgili.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Olevariant olması gerekiyor. Netten bulduğum kodu kullanıyorum:

procedure TForm1.Button1Click(Sender: TObject);
var filename:Olevariant;
begin
if OpenDialog1.Execute then
filename:=OpenDialog1.FileName;
DHTMLEdit1.LoadDocument(filename);
end;

Araştırmalarım devam ediyor, delphi-dhtmledit adında yahoogroups varmış, umarım ordan bişeyler bulabilirim. Siz denediniz mi loaddocument yapmayı ?
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

Ben denedim Çok garip; hata almadım. Sadece bir kez kapatırken geçersiz işlem yürüttü program (denemelerimde bazen EXE den çalıştırdım.)

Olasılıklar.
1. Yüklediğiniz html dökümanı ile ilgili olabilir. Farklı dökümanları denediniz mi?

2. Sizdeki DHTMLEdit sürümünde bazı BUG lar olabilir. Malum MS in bir ürününün pek çok sürümü olabiliyor. Hatta ben aramalarımda bu ocx te bazı güncellemeler ilgili bilgilerle karşılaştım ama fazla incelemedim.


Ben bu kodu kullandım. Sizin kodunuzda hataya yol açmadı. Delphi 7 de denedim.

Kod: Tümünü seç

var
  ole,o2:OleVariant;
  s:widestring;
begin
  s:='E:\DHTML Edit Deneme1\Microsoft Security Bulletin (MS99-011).htm';
  ole:=s;
  o2 := False;
  DHTMLEdit1.loaddocument(ole, o2);
Ek olarak:
Bendeki sürümü:6.1.0.9227
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhabalar,
Bu ActiveX objesini kullandığınız Unit in en sonuna ,

Kod: Tümünü seç

..
.
.
.

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;

end.
komutlarını ekleyerek denermisiniz.

Kaynak http://www.delphipages.com/threads/thre ... 8&G=162869
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

İlginiz için çok teşekkürler arkadaşlar, yardımlarınız ışığında sorunu halloldu. 2 gündür bunla uğraşıyodum artık pes etmek üzereydim :) delphipages.com da bulduğum şu kodla sorun çözüldü:

DHTMLEDLib_TLB.pas dosyasındaki TDHTMLEdit.getControlInterface fonksiyonunu şu kodlarla değiştirilir:

Kod: Tümünü seç

function TDHTMLEdit.getControlInterface : iDHTMLEdit;
var
  idsp : iDispatch;
begin
  idsp := iDispatch(OleObject);
  idsp.QueryInterface( IID_iDHTMLEdit, result );
end;
tears
Üye
Mesajlar: 79
Kayıt: 29 Kas 2004 12:32

Re: DHTMLEdit kullanan var mı?

Mesaj gönderen tears »

Merhaba,

Acaba nereden indirdiniz?

Open source olan var mı?

Kolay gesin.
Kullanıcı avatarı
d4erth
Üye
Mesajlar: 39
Kayıt: 01 Oca 2008 04:44

Re: DHTMLEdit kullanan var mı?

Mesaj gönderen d4erth »

merhabalar konuyu görünce yeni bir konu açmak istemedim DHTMLEdit ile malesef tr karakter konusunda sorun çıkıyor bunu aşmanın herhangi bir yolu varmıdır ? keypress olaylarını da yakalatamıyorum teşekkür ederim, iyi çalışmalar.
Cevapla