Italia
Include

ocx3a.inc - ocx per XProfan11.2

 

Uwe
''Pascal''
Niemeier
Hi Leute!

Hier die an XProfan 11.2 angepaßte Version der ocx-Routinen.
Doku und Beispiele siehe Version 2.
Soweit ich auf die Schnelle feststellen konnte, müßten damit die Beispiele des ocx-Packages2 laufen (nach minimaler Anpassung der Syntax; siehe beigefügte ReadMe)

Die ocxInfo.inc ist allerdings nicht enthalten; anscheinend tuts die alte noch

Speziell per iF anbei noch ein paar Minimalbeispiele zum Thema HTML/JS

SeeYou
Pascal

6 kB
Hochgeladen:08.04.2009
Downloadcounter651
Download
3 kB
Hochgeladen:08.04.2009
Downloadcounter517
Download
 
08.04.2009  
 



Waaaha freue mich auf heute Abend!!!
 
08.04.2009  
 



Jaujau!
zwar nicht getestet (kein XProfan hier) aber bitte lieber Gott lass es funktionieren.

Dankesehr! Dankesehr! Dankesehr!
 
08.04.2009  
 



@UWE: Genial!

Und mit der etwas überarbeiteten (anhängigen) ocx3a.ph klappts auch mit xpse.

Die PH beinhaltet 2 kleine Fehler (wenn man es überhaupt so nennen kann) weshalb der Code bei mir nicht lief.

In der Zeile
fehlt hinten ein Komma

Ich hab bei der atl.dll auch den Dateinamen geuppert damit diese DLL von xpse erkannt werden kann als eine DLL aus einer Liste per DLL welche gesondert behandelt werden müssen, in etwa geladen werden vor dem Beziehen der Funktionsadressen. (Was auch ein Grund dafür ist dass das end vom xpse immer in __xpse__endofprogram__ geändert wird um solche DLLS auch wieder zu entladen vor dem Programmende.)

Zuletzt muss ich nur noch
 {$pushkeyword count%,param#,stringw,stringw$}
anwenden und: Es geht!

Jetzt wünscht ich mir Zeit auf Wunsch!

Wie ich das sehe kann das der Beginn sein einer wundervollen Beziehung zwischen XProfan und hübschen UIs.

5 kB
Hochgeladen:09.04.2009
Downloadcounter612
Download
 
09.04.2009  
 



Das DestroyWindow lässt das Programm aber abstürzen, auch bei Dir?

Einfach mal statt der Schleife in der JSScript-Exec.prf
einsetzen. Ich erhalte ein vorzeitiges Programmende.
 
09.04.2009  
 



Nachtrag: Hast Du eine Idee wie man das WebControl per Tastatureingaben empfänglich machen kann? (Oder ist das so nicht gedacht? )
 
09.04.2009  
 




Uwe
''Pascal''
Niemeier
Hi iF!


Die PH beinhaltet 2 kleine Fehler (wenn man es überhaupt so nennen kann) weshalb der Code bei mir nicht lief.


Irgendwas lag mir da an; in irgendeiner älteren Profan-Version mußte das so sein
Die Anpassung an XPSE hatte ich bei 3a noch nicht berücksichtigt; das kommt bei der Vollversion.


Das DestroyWindow lässt das Programm aber abstürzen, auch bei Dir?


Nö.
Prüf mal, ob das Controlhandle wirklich vorhanden ist; das war ja eines der Probleme bei der letzten ß von XProfan 11.2


Hast Du eine Idee wie man das WebControl per Tastatureingaben empfänglich machen kann?


Das soll mal ein Thema im ocxPackage 3 sein. Hier eine kleine Vorschau (habe den @Addr()-Workaround mal mit eingebaut):
window 780,400
 $H Windows.ph
 $H ocx3a.ph
 $I ocx3a.inc
ocxInit()
var File$=X:OCXTest.html-----------------------------Pfad bitte anpassen!
declare Temp#
dim Temp#,4
var WebObject&=ocxCreate(File$,%hwnd,500,10,250,100,$50800000,Temp#)
var WebControl&=long(Temp#,0)
var Document&=ocxGet(WebObject&,Document)
var HTMLWnd&=ocxGet(Document&,ParentWindow)

proc Event----------------------------------------------------------

    var Event&=ocxGet(HTMLWnd&,event)
    var Key%=ocxGet(Event&,keycode)
    --Per Usermessage WaitInput durchbrechen und Parameter übergeben
    sendmessage(%hwnd,5000,Key%,Key%)
    ocxRelease(Event&)
    endproc-------------------------------------------------------------

    proc CreateIMD----------------------------CreateInterfaceMethodDummy

        var a&=~GlobalAlloc(0,16)
        long a&,0=-1192457387,&(2),-1034033781,&(1)*4+4
        return a&
        endproc-------------------------------------------------------------
        declare VTable#,IFace&
        dim VTable#,32
        long VTable#,0=CreateIMD(2,0)QueryInterface
        long VTable#,4=CreateIMD(0,0)AddRef
        long VTable#,8=CreateIMD(0,0)Release
        long VTable#,24=procaddr(Event,5)
        long VTable#,28=VTable#
        IFace&=VTable#+28
        --Eigenes Interface zur ocx-Objektliste hinzufügen ( in ocx3a noch undokumentiert)
        ocxAddObject(IFace&)--Ist notwendig, damit IFace& als Objektpointer übergeben wird
        usermessages 16,5000
        set(fastmode,1)
        ocxPut(Document&,onkeypress,IFace&)
        ocxMethod(HTMLWnd&,Focus)--Focus auf WebControl (geht nicht mit SetFocus)

        while 1

            waitinput
            case %umessage=16:break
            case %umessage=5000:print Taste : ;&uwparam

        endwhile

        destroywindow(WebControl&)
        ocxDeInit()

Nach diesem Prinzip kannst du praktisch jedes on-Event des HTML-Dokumentes anzapfen und circa das Event-Objekt weitere Infos dazu einholen.

BTW: Als Grundlage per solche Entwicklungen verwende ich die IHTML-Interface-Referenz von MSDN.

HTH
Pascal
 
10.04.2009  
 



Jau, das schau ich mir an!
 
10.04.2009  
 




Uwe
''Pascal''
Niemeier
Hi Leute!

Kleine Korrektur: Die ursprüngliche ocxInfo.inc (zur Analyse und per eigene Experimente;
zur Nutzung von ActiveX nicht zwingend nötig) corre nicht in Verbindung mit dem ocxPackage 3a.
Hier das entsprechende Update.

SeeYou
Pascal

2 kB
Hochgeladen:19.12.2009
Downloadcounter463
Download
 
19.12.2009  
 



Hallo Pascal!

In der ocx3a.ph steht:
AtlAxWinInit(=External("atl.dll","AtlAxWinInit";
, hier fehlt ein Komma und müsste heißen:
AtlAxWinInit(=External("atl.dll","AtlAxWinInit",;
 
05.04.2010  
 




Uwe
''Pascal''
Niemeier
Hi iF!

Stimmt, das passiert mir öfters...corre aber trotzdem...

In irgendeiner älteren Profan-Version mußte das so sein bei APIs ohne Parameter und irgendwie ist das hängengeblieben

SeeYou
Pascal
 
05.04.2010  
 



Ich hatte beim Posten übersehen, dass AtlAxWinInit keinen Parameter erwartet - so gesehen ists imho eher ein Bug im XPSE, die ";-Schreibweise nicht korrekt umzusetzen. (sollte besser beide Varianten funktionieren)
 
07.04.2010  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

22.479 Views

Untitledvor 0 min.
Axel Berse12.07.2024
Member 862464112.05.2024
Sven Bader03.12.2023
Rainer Hoefs23.06.2023
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

iF (8x)
Uwe ''Pascal'' Niemeier (4x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie