Avatar billede kagehuset Nybegynder
03. december 2007 - 10:02 Der er 9 kommentarer og
1 løsning

WinForms dll i IE

Hejsa

Jeg har en lille simpel WinForms som et Windows Control Library dll i VI2005 og ville gerne have vist den som object på en html side i IE.

Object koden i html filen er:

<object width='100%' height='100%' id='Mycontrol' classid='Myreader.dll#Myreader.Mycontrol' >

og Myreader.dll ligger i samme bibliotek som html filen.

Åbnes html filen i IE kommer der først en fejl om at indholdet er blokeret. Højreklikker man og vælger tillad indhold kommer der bare en firkant med et rødt kryds i - som om den ikke kan findes.

Bruger IE7 under Vista.

Any pointers?

mvh
Mads
Avatar billede aaberg Nybegynder
03. december 2007 - 12:39 #1
Jeg tror du bliver nød til at sætte hjemmesiden op i IIS'en for at få dette til at virke. Alternativt kan du prøve at opprette en ny hjemmeside i Visual Studio, og prøve at køre det derfra.
Avatar billede kagehuset Nybegynder
03. december 2007 - 13:03 #2
Hejsa

Ideen var at det helst skulle køre uden IIS'en så ikke behøver ha' en IIS kørende. En ny hjemmeside i VS vil vel være asp/aspx som i så fald også kræver IIS - eller tager jeg fejl?
Avatar billede aaberg Nybegynder
03. december 2007 - 13:10 #3
Hvis du skal publicere din hjemmeside på en server, kræver en aspx side IIS. Så længe du udvikler på din hjemmeside i visual studio, bruger du ASP.NET Development Server. Dette er en server som simulere IIS, men som kun køre lokalt på maskinen. Den bliver automatisk startet af Visual Studio 2005 når du trykker "Start debugging (F5)".
Avatar billede kagehuset Nybegynder
03. december 2007 - 13:17 #4
OK - så er jeg med.

Men det kræver altså stadig en IIS hvis den skal køres i en browser? html siden skal ud til en håndfuld brugere og det ville være lettest hvis de brugere ikke allesammen skulle have en IIS kørende.

Men det er altså ikke muligt at embedde en winforms dll på en html siden uden at køre den igennem en IIS?
Avatar billede aaberg Nybegynder
03. december 2007 - 14:12 #5
Jeg tror ikke det er muligt, uden at være helt sikker. Jeg googlede lidt, og fandt følgende eksempel:

http://www.csharphelp.com/archives/archive109.html

Ifølge forfatteren af dette eksempel, bliver du nød til at teste det med IIS.

Kan du ikke køre html siden fra en server? Hvis den skal ligge lokalt på brugernes maskiner, hvorfår så ikke bare køre et Windowsprogram i stedet?
Avatar billede aaberg Nybegynder
03. december 2007 - 14:18 #6
Jeg prøvede lige og teste det i Visual Studio, der virker det fint. Samme kode i en html fil jeg åbner uden Visual Studio virker ikke.
Avatar billede kagehuset Nybegynder
03. december 2007 - 14:35 #7
Brugerne er ikke altid online så den kan ikke ligge på en central server. Det skal køres i en browser fremfor en standalone app da det skal være en del af et statisk website - der også ligger lokalt.

Hvis udvejen er at køre det på en IIS - er det så korrekt at det er en Windows Control Library projekt jeg skal lave det under?
Avatar billede aaberg Nybegynder
03. december 2007 - 14:52 #8
Det er ligemeget om du opretter et Windows Control Library eller et Class Library. Den eneste forskel på disse er hvilke System dll'er der er refereret til fra starten. Et Windows Control Library refererer blandt andet til System.Windows.Forms. Hvis du tilføjer en UserControl i et Class Library, bliver denne reference automatisk tilføjet.

Det der er vigtigt, er at det kompilerer til en dll fil.
Avatar billede kagehuset Nybegynder
03. december 2007 - 14:53 #9
OK - takker - så må det være løsningen - smider du et svar?
Avatar billede aaberg Nybegynder
03. december 2007 - 15:01 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester