dhtmedit hatası

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

dhtmedit hatası

Mesaj gönderen naile »

ActiveX bileşeni DhtmlEdit i kullanırken bazı metotlarını kullanmama izin vermiyor. "interface not supported" hatası alıyorum. Mesela DhtmlEdit1.DOM veya DHTMLEdit1.DocumentTitle ı kullanmaya kalktığımda bu hatayı veriyor. Ama DHTMLEdit1.NewDocument veya DHTMLEdit1.execCommand ı kullanabiliyorum. Delph-dhtmledit yahoo grubunda ve delphipages e ek olarak google da da baya bir arama yaptım ama kaç gündür bir çözüm bulamadım. Belki diyorum windowstan kaynaklanıyordur. XP türkçe sp2 kullanıyorum.

Bu hatayı çözebilen var mı?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

[b]delphi-dhtmledit[/b] grubunda yazılanlar yazdı:If you are using the program with MS Windows Update KB 891781 you
have to uninstall Update KB 891781 or replace DHTMLED.OCX, but if
You uninstall this KB this will be reinstalled if windows update
came active. Try reinstall the DHTMLED.OCX
(891781) MS05-013: DHTML düzenleme bileşeni ActiveX denetimindeki güvenlik açığı kod yürütülmesine izin verebilir yazdı:Bilinen sorunlar
Bu güvenlik güncelleştirmesini yüklemenizden sonra, bir program Dhtmled.ocx ActiveX denetiminin Visible özelliğini önce FALSE ve ardından TRUE olarak değiştirdiğinde Dhtmled.ocx denetimi beklendiği gibi çalışmaz. Bu sorun hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

906216 (http://support.microsoft.com/kb/906216/) Bir program Dhtmled.ocx ActiveX denetiminin Visible özelliğini değiştirdikten sonra Dhtmled.ocx denetimi beklendiği gibi çalışmıyor (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)


Ref : http://support.microsoft.com/kb/906216

Windows XP with Service Pack 1
File name File version File size Date Time Platform SP requirement Service branch
Dhtmled.ocx 6.1.0.9234 118,272 01-Sep-2005 01:48 x86 SP1 SP1QFE

Windows XP with Service Pack 2
File name File version File size Date Time Platform SP requirement Service branch
Dhtmled.ocx 6.1.0.9234 128,512 01-Sep-2005 01:40 x86 SP2 SP2QFE

Eski sürümlerden birisini Download için (6.01.9211 nolu sürüm)

- Kısaca bu açıklamalardan bir rota çıkardım. Bu sırayla incelemelerini sürdürürsen sonuca ulaşacağını değerlendiriyorum.

- Kısaca güvenlik açığı nedeniyle güncelleme yapılmış, yapılan güncelleme sorun yaratmaya başlamış. Bu sorunla boğuşmaktansa eski sürümü indirmek öneriliyor ama son karar senin.

- Bana soracak olursan, -cahilliğime ver, bu OCX'in faydasını bilmiyorum- Visual Basic'ciler bolca OCX kullanırlar ama Delphi'de daha kolay bir yolu mutlaka vardır.

- Bir örnek buldum sadece onu inceledim ama bunu yapmak biraz HTML bilgisi ile mümkün.

Kod: Tümünü seç

// Uses ComObj, DHTMLEDLib_TLB
procedure TForm1.Button1Click(Sender: TObject);
var
  insertTableParam   : DEInsertTableParam;
  ovInsertTableParam : OleVariant;
  HTML : WideString;
begin
  insertTableParam := CreateComObject(Class_DEInsertTableParam) as IDEInsertTableParam;
  insertTableParam.NumRows := 4;
  insertTableParam.NumCols := 3;
  insertTableParam.TableAttrs := 'width=100%';
  insertTableParam.CellAttrs := ' bgColor="blue" noWrap';
  ovInsertTableParam := OleVariant(insertTableParam);
  DHTMLEdit1.ExecCommand(DECMD_INSERTTABLE, OLECMDEXECOPT_DODEFAULT, ovInsertTableParam);
end;
- OffTopic yapmayım. Çalışmalarında başarılar...
Resim
Resim ....Resim
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

@mrmarman, benim için araştırdığınız için öncelikle teşekkür ederim.

ocx in eski sürümü paralıymış. Eğer ocx i sadece benim makinamda güncellemem yeterli gelecek olsa denemek isterdim ama sanırım tüm makinalarda bu güncellemenin yapılması gerekir. Buna da izin verileceğini sanmıyorum. Aslında ocx in bende eski bir sürümü var (2000 işletim sistemini kullanırken program dizinime yedeğini almıştım) ama o da bir işe yaramadı maalesef.

Verdiğiniz kod benim kullanmaya çalıştığım dhtmledit bileşenine tablo ekliyor. O kodu ben de hatasız olarak kullanabiliyorum. Ama bazı şeyler için kullanmam gereken kodlarda hata veriyor.

Bulabildiğim en kolay yöntem de bu ocx. Bunun haricinde bir de paralı bir component buldum ve paralı olduğundan demosunun kodlarını inceleyemedim. Bu componentle ilgili internette de yardımcı örnek bulamadığım için pek kullanamadım.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Konu dışı ama, yapmak istediğiniz şey nedir ? Şunun için soruyorum, bu OCX'in sadece belli şartlarda HTML Generate ettiğini değerlendiriyorum. Bunu yapacak bir UNIT yazmayı düşündünüz mü ?

- Şahsen fazla araştırmadım, daha önce dediğim gibi cehaletime verin ama özel olarak bu OCX'den beklediğiniz davranış nedir ? Bu OCX olduğunu sandığım dışında ne işe yarar ?
Resim
Resim ....Resim
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Bu editi mail gönderme programımda kullanıyorum. Outlook expressteki gibi mail yazıp, düzenleyebilmek için yani.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

selamlar, gecko(firefox) nun browser olarak delphi içine gömülerek kullanıldığını görmüştüm, kiosk uygulamalarında özellikle. belki editor kısmınıda gömüp kullanabilirsin.

http://www.mozilla.org/editor/
http://www.mozilla.org/projects/embedding/
http://www.iol.ie/~locka/mozilla/contro ... singDelphi
http://groups.google.com/group/netscape ... this+group
1/ I need to be able to display local file/text/stream
I suppose the solution shoul be:
browser.navigate('about:blank');
doc:=browser.Document;
doc.body.innerHTML := text;

2/ I need to create HTML editor, I suppose the solution should be:
browser.Document.contentDocument.designMode:='on'
and then using execCommand method for styling

biraz baktımda şimdi çokta zor değil gibi
.-.-.-.-.-.-.-. ^_^
Cevapla