1

Konu: InternetExplorer.Application

Arkadaşlar selam,

Internet.Explorer nesnesini kullanarak bir deneme yaptım. Açılmış Html dokumanı üzerinde değişiklik yapılabiliyor, hatta oradan istediğiniz html parçalarını VFP içine alabiliyorsunuz. Yada Html içindeki nesnelere değer atayabiliyorsunuz.

Gayet güzel ve çalışıyor. Fakat Html içinde var olan bir scripti (Java yada VB ) VFP içinden çalıştırmak istediğimde ;

o.Document.Script.girdidenetle("xyz")

sonucunda "OLE Error Code 0X800220006: Bilinmeyed Ad" 

Hata mesajını aldım. Rick Strahl bir makalesinde, bunun fonksiyon ismindeki büyük/küçük harf uyuşmazlığından kaynaklandığı yazıyordu. Yani Html Dokumanındaki java fonksiyonun adı küçük harflerden oluşmalı diyordu. Bunu denedim ama sonuç aynı.

Bu hata mesajını biraz araştırdığımda bunu VFP nin bir bug ı olduğunu ve VFP 8 SP1 ile düzeltildiğini öğrendim. VFP 9 için böyle bir bug yokmuş.

Ama ben bu hatayı VFP 9 da alıyorum.

Konu hakkında bir öneriniz yada bilginiz varsa yardımcı olursanız sevinirim.

2 Son düzenleyen, ugurlu2001 (07.04.2010 17:38:37)

Re: InternetExplorer.Application

Ali abi;

Java için bende şu şekilde bir örnek var. Belki sana biraz fikir verebilir:

Visual Fox Pro
*!*    Code From Public Foxpro Forums

*!*    I don't remember the author
 
Public oForm
oForm = Createobject("Form1")
oForm.Show()
 
DEFINE CLASS Form1 AS form
 
 
    Top = 262
    Left = 266
    Height = 126
    Width = 343
    DoCreate = .T.
    Caption = "Run JavaScript from VFP"
    Name = "Form1"
 
 
    ADD OBJECT txtresult AS textbox WITH ;
        Height = 23, ;
        Left = 120, ;
        ReadOnly = .T., ;
        Top = 24, ;
        Width = 100, ;
        Name = "txtResult"
 
 
    ADD OBJECT command1 AS commandbutton WITH ;
        Top = 60, ;
        Left = 132, ;
        Height = 27, ;
        Width = 84, ;
        Caption = "\<Execute", ;
        Name = "Command1"
 
 
    PROCEDURE command1.Click
        Local loScript
 
        loScript = Createobject([MSScriptcontrol.scriptcontrol.1])
        loScript.Language = [JavaScript]
        loScript.addobject("MyForm", thisform)
        loScript.executestatement([var x = 100000 ; var y = 20000000 ; var z = x + y; MyForm.txtResult.value = z])
    ENDPROC
ENDDEFINE


Birde internette Les Pinter 'in JavaForm örneğini bulabilirsin.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

3

Re: InternetExplorer.Application

Uğur örnek için teşekkürler . Les Pinter inkini bulamadım. Ama bu tam olarak aradığım şey değil. Çünkü ben vfp içinden kendi yazdığım java kodunu çalıştırmak istemiyorum. Bir x sitesinden açtığım web sayfası içindeki Java fonksiyonunu VFP içinden tetiklemek istiyorum. Bunuda şöyle yapıyorum :

Visual Fox Pro
oBrowser = CREATEOBJECT("InternetExplorer.Application")

oBrowser.Navigate("http://www.xyz.com")
obrowser.Visible = .t.
oBrowser.Document.Script.girdidenetle("XYZ")

Sonuç bilinmeyen ad hatası.