Någon som kan knäcka denna nöt? Långskott men MultiFileCopy kanske returnerar svaret som en string? Det borde i och för sig snarare ge ett error. Just de, vb är ju standard så stört i huvudet att den inte bryr sig om felaktiga datatyper, dra igång option strict å testa lite Enligt dok så skall den returnera en boolean testade if B2 then ... istället for if B2=true then ... och det fungerade.När Boolean är True men inte ger väntad effekt
Jag har en subrutin i VB6 (t1 o t2 är strängar med folder/filnamn, xapi2000 en modul ...):
==============
Dim n As Integer
Dim B2 As Boolean
n = 0
B2 = XAPI2000.MultiFileCopy(T1, T2)
If B2=True Then n = n + 1
A = MsgBox(B2): Rem visar resultatet True, alltså att det fungerat - och fungerat har det
A = MsgBox(n): Rem visar resultatet 0 - noll trots att vilkoret if B2= True är uppfyllt ...
===============
n borde ha blivit 1 eftersom B2 har värdet True. Men så är inte fallet. Kan någon ha en ide?
Obs att strax innan fungerar B2 (kollar om en folder finns ...)
PerSv: När Boolean är True men inte ger väntad effekt
Har du provat att stega igenom koden med en breakpoint och kontrollera värdena i Immediate window?Sv:När Boolean är True men inte ger väntad effekt
Sv: När Boolean är True men inte ger väntad effekt
Function MultiFileCopy (ByVal SourceFiles As String, ByVal DestDir As String) As Boolean
men om den är kodad så att den returnerar True som 1 (normalt i C) istället för -1 (True i VB)
kommer if B2=True inte att vara sant.
Däremot kommer if b2 then att fungera eftersom allt utom 0 tolkas som True av VB6.
[Edit]
oops, borde nog fungera ändå eftersom VB antagligen sätter b2 till True (-1) vid tilldelningen om returvärdet är <> 0.
[/Edit]Sv:När Boolean är True men inte ger väntad effekt
Tack för hjälpen.
Per