Hej!
Hur gör man för att tilldela en ActiveX komponents properties från den html-sida där man implementerat ActiveX komponenten (inte dll alltså)?
Tacksam för hjälp!
------------------
/peterbladh:)
8 svar · 447 visningar · startad av peterbladh
Hej!
Hur gör man för att tilldela en ActiveX komponents properties från den html-sida där man implementerat ActiveX komponenten (inte dll alltså)?
Tacksam för hjälp!
------------------
/peterbladh:)
För att sätta egenskaper på en komponent skriver du i princip likadant i asp (eller vilket serverscript språk du nu kör) som du gör från en applikations klient.
Om vi säger att du har följande egenskap i dll:en (förutsatt att du kör vb...):
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
private min_storlek as string
public property get storlek() as string
storlek = min_storlek
end property
public property let storlek(val as string)
min_storlek = val
end property
Så anropar du den på följande sätt:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
dim obj, aspStorlek
set obj = createobject("project.class")
obj.storlek = cstr("Ny_Storlek")
aspStorlek = obj.storlek
[Redigerat av fredrik den 01 dec 2000]
Komponent är bara ett samlinguttryck, och det innebär i detta fall oftast en ActiveX-DLL. Vad är det du har?
------------------
-------------------
What a waste it is to lose one's mind. Or not to have a mind is being very wasteful. How true that is.
Dan Quayle
Det är en ActiveX Component (ocx) som jag själv har scrivit. Den körs på klienten.
Hur skall jag då göra eller kan man köra en ocx server side?
------------------
/peterbladh:)
jaha...en activeX kontroll (kallar jag det iaf)...
Om du ska ändra egenskaper i en kontroll från html får du använda ett VBscript (klient).
Först får du lägga in ditt objekt med det klass-id som genereras när du "testkör" din kontroll i IE från VB. Där lägger du även ett id, typ:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
<OBJECT ID="minKontroll" WIDTH=300 HEIGHT=300
CLASSID="CLSID:xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx">
</OBJECT>
Sen får du göra ett Vbscript som ändrar, typ:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
<SCRIPT LANGUAGE=VBScript>
Sub MyClick(value)
MinKontroll.Egenskap = value
End Sub
</SCRIPT>
Det funkar nog för dig....
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/
tackar! jag skall testa det... jag har letat efter en lösning länge, så om det verkligen fungerar så tackar och bockar jag!:)
/peterbladh:)
------------------
/peterbladh:)
Nu har jag testat och DET FUNGERAR... så enkelt?! Otroligt att jag inte fått nåt vettigt svar tidigare, jag har testat både pellesoft.nu och passagens konferenser samt letat i ett antal amerikanska forum - dr jag hittade frågor men inga svar... som sagt TACK!!!!!!
Vet du förresten om man kan köra ActiveX kontroller ServerSide? typ som servlets (eller vad det heter... är inte så bra på java)?
mvh
peterbladh:)
------------------
/peterbladh:)
Hallå, det var ju kul att jag kunde hjälpa...
Att köra activeX kontroller som Server-side blir nog lite värre...men då kan du istället använda ActiveX-dokument, som fungerar "liknande" som kontroller och som körs på servern.
Om du inte vet hur det funkar, välj "ActiveX document DLL" och testa dig fram. Där kan du använda de flesta VB-objekten och kontrollerna för att visa upp på sidan (i ett IE-fönster).
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/