Deutsch
Includes

ocx2.inc - ocxPackage Nr.2

 

Uwe
''Pascal''
Niemeier
Hallo Leute!

Habe eben das ocxPackage Nr. 2 fertiggestellt.
Dabei geht es eigendlich gar nicht mehr um ocx-Dateien, sondern vor Allem um die Möglichkeiten, Windows-interne ActiveX-Elemente zu nutzen.
Ist recht umfangreich geworden; die Beispiele reichen von der Steuerung von Office-Komponenten bis zum HTML-Editor.
Und es bleibt noch genug für die nächste Version

PS: Habe diesmal gleich ne CHM-Hilfe erstellt.
Mann, ist der MS-Compiler nervig...

SeeYou
Pascal

142 kB
Hochgeladen:07.04.2007
Ladeanzahl578
Herunterladen
 
07.04.2007  
 




Rolf
Koch
Hallo Pascal,

Saustark!!!
Das meiste z.B. unter HTML klappt hervorragend.
Leider so Sachen wie unter Extern nicht, denn dann kommt immer noch: Mitglied nicht gefunden. Keine Ahnung was das bedeutet.
Beende ich dann das Programm, so wird meine Festplatte lauter und nach Besichtigung des Taskmanagers sehe ich, dass Profan.exe immer noch vorhanden ist.
Leider wie immer keine Zeit, der Ursache auf den Grund zu gehen. Aber ich glaube, dass extern wohl deswegen so lautet, da man externe Programme benötigt, welche ich z.B. nicht besitze (Exel und Co.)
 
07.04.2007  
 




Ralph
Theobald
Hallo Pascal,

klappt alles hervorragend !!

Hallo Rolf, du mußt die ocx - Dateien downloaden und registrieren.

Gruß Ralph
 
Xprofan 10 , AMD Athlon 3000+, 1GB
07.04.2007  
 




Georg
Hovenbitzer
Hallo Pascal,

ich bin erst heute dazu gekommen deine 2. Version zu testen.
Was soll ich sagen, klappt alles ganz klasse

Ein kleines Problem habe ich aber bei der Übersetzung mit Profan2CPP.
Ich komme mit der Prozedur CallIntern nicht klar, dort kommen die Variable Count% und Error& vor, die aber nicht deklariert sind.

Deklariere ich Count% in der Prozedur knallt es bei der Anwendung.
Habe ich hier einen Denkfehler oder wo liegt das Problem ??
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
21.05.2007  
 




Uwe
''Pascal''
Niemeier
Hallo Georg!

Das liegt daran, dass CallIntern nur von anderen Procs (CallMethod und CallMethodEx) aufgerufen wird, und in denen sind die vermissten Variablen lokal deklariert (Übergabe als Parameter ist nicht, weil auf dem ParameterStack die eigendlichen Werte für den Call-Aufruf stehen).
Am Besten nimmst du die lokalen Deklarationen raus und deklarierst Count% und Error& global, das sollte klappen.

SeeYou
Pascal
 
22.05.2007  
 




Georg
Hovenbitzer
Hallo Pascal,

die Lösung mit der globalen Deklarierung klappt leider nicht.

Es kommt immer die Fehlermeldung:
Fehler:
$80020008
Falscher Variablentyp.

Diese kommt auch wenn ich nur count% global mache.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
22.05.2007  
 




Sebastian
König
Hallo Georg,

leider sind auch ein paar andere Variablen davon betroffen... Es müsste helfen, wenn Du in den Übersetzungsoptionen Alle Variablen global deklarieren aktivierst. Leider könnte diese Holzhammer-Methode auch unerwünschte Nebeneffekte haben...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
22.05.2007  
 




Uwe
''Pascal''
Niemeier
Hallo Leute!


leider sind auch ein paar andere Variablen davon betroffen...


Stimmt...
Um den Code kompakter zu machen, habe ich mehrfach vorkommende Sequenzen naheliegenderweise als Procs ausgelagert. Und die nutzen natürlich direkt die in den aufrufenden Prozeduren lokal deklarierten Variablen. Ist vieleicht kein besonders sauberer Stil, sollte aber doch legitim sein?

Habe jedenfalls mal auf die Schnelle (und ohne Gewähr) versucht, die Sache zu bereinigen (die Aufteilung von CallMethod auf vier (!) Procs zwecks Fehlerauswertung machte bei näherer Betrachtung sowieso keinen Sinn)
Die Verwendung des Parameter-Stacks läßt sich allerdings nicht so ohne Weiteres vermeiden...

HTH
Pascal

6 kB
Hochgeladen:23.05.2007
Ladeanzahl288
Herunterladen
 
23.05.2007  
 




Sebastian
König
Hallo Pascal,


Stimmt...
Um den Code kompakter zu machen, habe ich mehrfach vorkommende Sequenzen naheliegenderweise als Procs ausgelagert. Und die nutzen natürlich direkt die in den aufrufenden Prozeduren lokal deklarierten Variablen. Ist vieleicht kein besonders sauberer Stil, sollte aber doch legitim sein?

Habe jedenfalls mal auf die Schnelle (und ohne Gewähr) versucht, die Sache zu bereinigen (die Aufteilung von CallMethod auf vier (!) Procs zwecks Fehlerauswertung machte bei näherer Betrachtung sowieso keinen Sinn)
Die Verwendung des Parameter-Stacks läßt sich allerdings nicht so ohne Weiteres vermeiden...


Schon besser . Es fehlt nur noch das Array v$[]. Meine Empfehlung wäre, auch dieses Array in ausreichender Größe (32 oder so) global zu deklarieren und in den entsprechenden Prozeduren an Stelle von declare ein clear v$[] einzufügen.

Es geht in C++ nicht, von einer aufgerufenen Prozedur aus auf Variablen zuzugreifen, die in der aufrufenden Funktion deklariert wurden. In XProfan ist dies (leider...) erlaubt. Der Profan2Cpp-Syntax-Check meldet in solchen Fällen die Warnung W0003 (Variable möglicherweise nicht verfügbar). Mit der Option Alle Variablen global deklarieren lässt sich das Problem wie schon erwähnt beheben, aber wenn es nur um eine Handvoll betroffener Variablen geht, ist es ratsamer, sie von Hand zu globalisieren...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
23.05.2007  
 



Sebastian König
Es geht in C++ nicht, von einer aufgerufenen Prozedur aus auf Variablen zuzugreifen, die in der aufrufenden Funktion deklariert wurden. In XProfan ist dies (leider...) erlaubt.


XProfan folgt in Bezug auf die Sichtbarkeit der Variablen den Gegebenheiten von Pascal bzw. Delphi: Eine Variable einer aufrufenden Funktion ist ebenso bekannt, wie eine globale Variable.

(An dieser Stelle wäre wahrscheinlich ein Profan2Pascal einfacher gewesen, als ein Profan2CPP. Ich hatte mit so etwas mal angefangen, aber da Profan2CPP so wunderbar funktioniert, dieses nicht mehr fortgesetzt.)

Wenn man also vor hat, ein Programm mit Profan2CPP zu behandeln, sollte man in allen Funktionen nur auf globale Variablen, Parameter oder lokale (in der Funktion definierte) Variablen zugreifen. Aus eigener (leidvoller) Erfahrung möchte ich hinzufügen, daß man globale Variablen möglichst sparsam und auf alle Fälle mit sprechenden Namen verwenden sollte!

Gruß
Roland
 
23.05.2007  
 




RGH
Arrghhhh ... als ich mit der vorhergehen Antwort angefangen habe, war ich noch eingeloggt ... und während des Schreibens - ich wurde wegen eines Telefonates etwas aufgehalten - wohl wieder mal rausgeschmissen! Also hier sehe ich für iF noch Handlungsbedarf! Dieses ständige Einloggen nervt ungemein. Wenigstens solange der PC an und der Browser offen ist, sollte man eingeloggt bleiben!

Gruß
Roland
(in der Hoffnung, beim Abschicken dieses Beitrags noch angemeldet zu sein.)
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
23.05.2007  
 




Sebastian
König

(An dieser Stelle wäre wahrscheinlich ein Profan2Pascal einfacher gewesen, als ein Profan2CPP. Ich hatte mit so etwas mal angefangen, aber da Profan2CPP so wunderbar funktioniert, dieses nicht mehr fortgesetzt.)

Leider habe ich an solche Unterschiede im Detail garnicht gedacht, als ich mit der Arbeit an Profan2Cpp begonnen habe. Naja, das meiste ließ sich ja recht zufriedenstellend lösen...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
23.05.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

29.593 Betrachtungen

Unbenanntvor 0 min.
Member 862464112.05.2024
RudiB.15.08.2021
Sven Bader01.03.2021
Christof Neuß03.06.2019
Mehr...

Themeninformationen



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