Jens Andersen skrev:
> Kan man sætte en Java Applets i en vb form ?
Kan du bruge Microsoft Internet Controls-objektet (WebBrowser-elementet) til
noget?
Det kan vise .html-filer... i programmet opretter du så en temporer
..html-fil (der viser din java-applet) og viser den - altså .html-filen...
Når programmet så afslutter kan du slette .html-filen.
Her er et eks.: (det kan laves meget bedre end det)
Private Declare Function GetTempPath Lib "kernel32" Alias _
"GetTempPathA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
Private Sub ShowJavaApplet(AppletPath As String)
Open GetTempFolderPath & "applet.html" For Output As #1
Print #1, "<HTML>"
Print #1, "<HEAD>"
'Forskellige meta-tags til at fortælle "browseren"
'at den IKKE skal cache dette dokument. Jeg håber
'det virker.
Print #1, "<META HTTP-EQUIV=""Expires"" " & _
"CONTENT=""Sat, 01 Jan 2000 00:00:00 GMT"">"
Print #1, "<META HTTP-EQUIV=""Pragma"" " & _
"CONTENT=""no-cache"">"
Print #1, "<META HTTP-EQUIV=""Cache-Control"" " & _
"CONTENT=""no-store"">"
Print #1, "</HEAD>"
'Alle margin-probs er sat til 0, for at appletten
'bliver vist helt ud til kanten.
Print #1, "<BODY LEFTMARGIN=""0"" " & _
"TOPMARGIN=""0"" " & _
"RIGHTMARGIN=""0"" " & _
"BOTTOMMARGIN=""0"">"
'Selve objektet (i html) der viser JavaAppletten:
Print #1, "<APPLET CODE=""file://" & AppletPath & """ " & _
"WIDTH=""100%"" HEIGHT=""100%"">"
'Her kan angives flere forskellige parametre... F.eks.:
Print #1, "<PARAM NAME=""parameter1"" VALUE=""værdi1"">"
Print #1, "<PARAM NAME=""parameter2"" VALUE=""værdi2"">"
Print #1, "</APPLET>"
Print #1, "</BODY>"
Print #1, "</HTML>"
Close #1
'Vis .html-filen:
WebBrowser1.Navigate GetTempFolderPath & "applet.html"
'Jeg ved ikke om man ville kunne gøre det, men prøv:
DeleteTempfile
End Sub
Private Sub DeleteTempfile()
If Dir(GetTempFolderPath & "applet.html") <> "" Then
Kill GetTempFolderPath & "applet.html"
End If
End Sub
Private Function GetTempFolderPath()
Dim TempPath As String
Dim ZeroPos As Long
TempPath = Space$(260)
ZeroPos = GetTempPath(260, TempPath)
TempPath = Left$(TempPath, ZeroPos)
If Right$(TempPath, 1) <> "\" Then
TempPath = TempPath & "\"
End If
GetTempFolderPath = TempPath
End Function
.... jeg har selv lavet på noglelunde denne her måde før. Det eneste problem
jeg har haft er at .html-filen bliver cachet, så man ikke kan opdatere siden
(altså vise en ny applet i samme .html-fil)... hvis du får samme problem,
prøv at lave .html-filen til en .asp-fil - med samme indhold. Det tror jeg
nok virkede...
Men det skulle også gerne virke nu - med tre meta-tags der siger at den ikke
skal caches.
- Bjarke Walling Petersen
|