Met een groot project ben ik tegen een akelig probleem gelopen. De interface om een ActiveX control werd op een nogal vreemde manier gebruikt (misbruikt). Een property werd in principe gebruikt als een function, bijvoorbeeld:
document.HetObject.AddImage = strFile;
(javascript)
Deze regel is dus geen property, maar roept daarintegen een functie in de ActiveX control aan. De vervanger van deze OCX (waar ik al een lange mee bezig ben) doet dit echter niet. Ik heb wat zitten te experimenteren voor het maken van een 'wrapper' class, omdat er anders heel veel ASP pagina's waar het object gebruikt wordt verandert mogen worden, bij een aardig aantal klanten. Iets waar ik niet echt op zit te wachten.
* Mijn eerste idee was om een javascript object te maken, met wat functies (indentieke namen als voormalige functies). Wanneer ik echter het "=" teken gebruik wordt de hele javascript functie vervangen. Geen success
* Het is zover ik gevonden heb op google onmogelijk om de = te overloaden/overriden om als functie gebruikt te kunnen worden.
* Vandaar dat ik ene mix van javascript/vbscript wil proberen, iets als:
Wat een fout geeft in de javascript code, omdat testclass undefined is.
Ik denk echter dat bovenstaande onmogelijk is. Verder denk ik ook dat er (helaas) geen simpele oplossing voor het probleem is, maar misschien heeft iemand een goede ingeving?
document.HetObject.AddImage = strFile;
(javascript)
Deze regel is dus geen property, maar roept daarintegen een functie in de ActiveX control aan. De vervanger van deze OCX (waar ik al een lange mee bezig ben) doet dit echter niet. Ik heb wat zitten te experimenteren voor het maken van een 'wrapper' class, omdat er anders heel veel ASP pagina's waar het object gebruikt wordt verandert mogen worden, bij een aardig aantal klanten. Iets waar ik niet echt op zit te wachten.
* Mijn eerste idee was om een javascript object te maken, met wat functies (indentieke namen als voormalige functies). Wanneer ik echter het "=" teken gebruik wordt de hele javascript functie vervangen. Geen success
* Het is zover ik gevonden heb op google onmogelijk om de = te overloaden/overriden om als functie gebruikt te kunnen worden.
* Vandaar dat ik ene mix van javascript/vbscript wil proberen, iets als:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <script language="vbscript">
Class testclass
Public Property Let test(newval)
msgbox("test:" & newval)
End Property
end Class
</script>
<script language="javascript">
var obj = new testclass
obj.test = 4
</script> |
Wat een fout geeft in de javascript code, omdat testclass undefined is.
Ik denk echter dat bovenstaande onmogelijk is. Verder denk ik ook dat er (helaas) geen simpele oplossing voor het probleem is, maar misschien heeft iemand een goede ingeving?