Deutsch
Includes

ocx3a.inc - ocx für 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 für iF anbei noch ein paar Minimalbeispiele zum Thema HTML/JS

SeeYou
Pascal

6 kB
Hochgeladen:08.04.2009
Ladeanzahl651
Herunterladen
3 kB
Hochgeladen:08.04.2009
Ladeanzahl517
Herunterladen
 
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 für DLLs 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
Ladeanzahl612
Herunterladen
 
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 für 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 für 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 über das Event-Objekt weitere Infos dazu einholen.

BTW: Als Grundlage für 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 für eigene Experimente;
zur Nutzung von ActiveX nicht zwingend nötig) läuft nicht in Verbindung mit dem ocxPackage 3a.
Hier das entsprechende Update.

SeeYou
Pascal

2 kB
Hochgeladen:19.12.2009
Ladeanzahl463
Herunterladen
 
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...läuft 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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

22.444 Betrachtungen

Unbenanntvor 0 min.
Axel Berse12.07.2024
Member 862464112.05.2024
Sven Bader03.12.2023
Rainer Hoefs23.06.2023
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

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


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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