Avatar billede tommyls Nybegynder
10. maj 2002 - 14:37 Der er 8 kommentarer og
1 løsning

Type mismatch ?

Jeg bruger aspSmartupload, hvor jeg uploader x antal filer.

Men jeg fejlen i følgende sætning.

ReDim Preserve strFil(mySmartUpload.Files.Count)
    For i = 1 To mySmartUpload.Files.Count
        If mySmartUpload.Files.Item(i).FileName = "" Then
        Else
        strFil(i) = mySmartUpload.Files.Item(i).FileName
        End If
    Next
Avatar billede tommyls Nybegynder
10. maj 2002 - 14:38 #1
Her er hele koden

<%@ Language=VBScript %>
<%option explicit%>

<%

Dim mySmartUpload
Dim image
Dim subheader
Dim text
Dim vignet
Dim alias
Dim menuTitle
Dim Parent
Dim strfil
Dim intCount
Dim adCmdText

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload

image         =     mySmartUpload.Form("image")
subheader     =     mySmartUpload.Form("subheader")
text         =     replace(mySmartUpload.Form("text"), vbCrLf,"<br />")
vignet         =     mySmartUpload.Form("vignet")
alias         =    mySmartUpload.Form("alias")
menuTitle     =     mySmartUpload.Form("menuTitle")
Parent         =     mySmartUpload.Form("menuTitle")
   
intCount     =     mySmartUpload.Save("/img/common/topimages")
%>
<!--#include file="../../include/asp/db.asp"-->
<%
ReDim Preserve strFil(mySmartUpload.Files.Count)
    For i = 1 To mySmartUpload.Files.Count
        If mySmartUpload.Files.Item(i).FileName = "" Then
        Else
        strFil(i) = mySmartUpload.Files.Item(i).FileName
        End If
    Next
   
   
dbinit
SQL = "INSERT INTO tbl_text (text)"
SQL = SQL & "VALUES('" & text & "')"
oCn.Execute strSQL, adCmdText


dbdone
%>
Avatar billede coltau Juniormester
10. maj 2002 - 17:01 #2
Problemet er sikkert "Preserve" i denne linie:

ReDim Preserve strFil(mySmartUpload.Files.Count)

Prøv at fjerne ordet "Preserve"

ReDim strFil(mySmartUpload.Files.Count)
Avatar billede tjacob Juniormester
10. maj 2002 - 21:18 #3
Det er for i øvrigt en underlig konstruktion du har der:
Brug:
    If mySmartUpload.Files.Item(i).FileName <> "" Then strFil(i) = mySmartUpload.Files.Item(i).FileName
Avatar billede tjacob Juniormester
10. maj 2002 - 21:55 #4
coltau>> Hvis han fjerner Preserve forsvinder alle data fra strFil() ved reDim. Jeg kan ikke lige overskue om det er OK!  Hvis du f.eks. gør et array større: ReDim er et udmærket værktøj. Preserve gør at de data du havde i forvejen i arrayet bibeholdes. Hvis du fjerner Preserve: ja så sættes alle data i arrayet til <null>.
Avatar billede doc404 Novice
10. maj 2002 - 22:53 #5
måske kunne du fortæller hvilken fejl du får?
Avatar billede coltau Juniormester
11. maj 2002 - 09:50 #6
Jeg kan ikke se at det er nødvendigt med Preserve i ovennævnte kode - med mindre at strFil bliver brugt i db.asp - men det tror jeg næppe.

--> tjacob: Jeg kender godt betydningen af Preserve - men har aldrig fået den til at virke i ASP. ?
Avatar billede tjacob Juniormester
11. maj 2002 - 11:36 #7
Du skal erklære strFil som et array, for at du kan anvende ReDim på den.

Ret:    Dim strFil til Dim strFil()

/tjacob
Avatar billede tjacob Juniormester
11. maj 2002 - 11:39 #8
Hvis ikke det virker, så prøv at give den et argument f.eks. Dim strFil(1)
Avatar billede tommyls Nybegynder
13. maj 2002 - 10:47 #9
Det var som tjacob sagde:

Ret:    Dim strFil til Dim strFil()

Så virker koden fint!

thx
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
Kurser inden for grundlæggende programmering

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