» »

Pomoč pri Basicu

Pomoč pri Basicu

Nazgul ::

Naredu sem neki DLL (VajaDLL.dll) z Visual Basicom in v njem se nahajata Class Module Vaja ter VajaDB (med drugimi) v katerem se spet nahaja funkcija Izpisi, ki je definirana tko: Public Function Izpisi(ByRef aVaja As VajeDLL.Vaja) As Boolean, funkcija ki torej sprejema en argument po referenci in vrača vrednost tipa boolean. Potem pa v ASP datoteki kličem (uporabljam VBScript jezik) to funkcijo (predhodno sem seveda inicializiral potrebne spremenljivke) tko: najdeno = objVajaDB.Izpisi(objVaja), torej želim da mi tisti boolean kar funkcija vrača prepiše v ono spremenljivko "najdeno" , vendar mi IE potem ko naložim to ASP datoteko javi napako type missmatch pa ne vem zakaj!!! Sem že vse sprobal pa brez uspeha, še znorel bom. PROSIM ČIMPREJ POMAGAJTE.

Čudno je tud da pri uporabi VB skriptnega jezika ne morem napisati stavka kot je Dim nekaSpremenljivka As Boolean in mi javi napako češ da je pričakoval konec stavka še pred besedico "As", čeprav je to čisto lep in veljaven stavek v Basicu. Kako torej pri definicji spremenljivke določit še tip spremenljivke?
  • spremenil: Tomi ()

nevone ::

Poskusi deklarirat as byte.

Kakor jaz vem Basic nima booleanov ampak namesto tega uporablja byte.

Razlika med boolean in byte je ta, da boolean pozna samo vrednosti true(1) in false(0), byte pa ima 256 vrednosti ( 1 - 255 če je nepredznačen, in -127 - 128 če je predznačen) kar pa vključuje tudi 0 in 1.

o+ nevone

Nazgul ::

Hvala za poiskus, vendar ni pomagalo, še kr dobivam type mismatch.;(

Itak mi je blo čudno da Basic (VB) naj ne bi podpiral Boolean če pa v helpu piše da podpira, poleg tega pa ga celo uporabljam, tko da sigurn dela. To seveda govorim samo za VB, ne za VB skriptni jezik (mora bit neka razlika saj kot zgoraj omenjeno, v skripti ne dela izraz "Dim xxx As Nekaj" medtem ko v VB dela).

Dajte no tisti ki veste, POMAGAJTE PROSIM. NUJNO.

Nazgul ::

Zdej sem celo probal z integerji in - uganite - isto. Se pravi ni fora v nepodprtih podatkovnih tipih. Celo tako sem obupal da sem spremenil zasnovo funkcije in sicer tako da sem - namesto da funkcija vrača kaj - to nadomestil z drugim argumentom prenešen po referenci, torej: Public Sub Izpisi(ByRef aVaja As VajeDLL.Vaja, ByRef aNajden As Integer), vendar ISTO izpiše - type mismatch, ko sem probal klicat funkcijo: Call objVajaDB.Izpisi(objVaja, najdeno).;(

PA KAJ DELAM NAROBE?!:O

BigWhale ::

Tole:


Public Function lala() As Boolean
lala = False
End Function

Private Sub Command1_Click()
Dim qwe As Boolean
qwe = True
qwe = lala
MsgBox (qwe) ' Tukaj zadeva vrne ven false, torej se funkcija izvede
End Sub


V VB6.0SP5 Dela brez problemov. Ce bi bil tisti public definiran v nekem razredu spet ne bi smelo biti tezav.

Da ni problem pri definiciji objVajaDB?

Nazgul ::

Ja sej mogoče dela v VB, sam ne v VBScript, tako kot tudi izraz "Dim lala As Integer" npr. ne dela tam. Oni objVajaDB pa je 100% pravilno definiran, sem tudi druge podobne objekte tko definiral: Set objVajaDB = Server.CreateObject("VajeDLL.VajaDB")

nevone ::

A mogoče takole:

local lala() As Integer

ali pa

global lala() As Integer

ali pa

global lala%()

in potem

Dim lala(100)

o+ nevone

Nazgul ::

Sej ni težava v tem da funkcija ni dostopna al neki tazga, zato ne vem kaj bi to pripomoglo če bi tist spremenil v local ali global. Funkcija se izvrši ko jo kličem, v tem ni problema.

Kaj tisti % tam pomeni? Kaj nardi to?

nevone ::

% = as integer

o+ nevone

Old-Death ::

Ja v ASP ne moreš določit tipa spremenljivke, dase pa neki druzga naredit.
dim bla
če hočeš da ti to spremenljivko neka funkcija obravnava kot integer narediš tole :
NekaFunkcija(Cint(bla))
se pravi spremenljivko podaš funkciji zavito v

Cint....za integerje
Cstr....za stringe
Cbool .... je pa nejbrž za spremenljivke tipa boolean samo nisem sigurn ker še nikoli nisem poizkusil.

Nazgul ::

Ok ampak jest nočem da funkcija obravnava neko spremenljivko kot nekaj ampak da se tisto kar funkcija vrača obravnava kot nekaj. Sem tudi že poskusil tako: Cint(funkcija(lala)) pa tud ni pomagal, prav tako je bila neuspešna definicija da funkcija vrača tip variant (baje so vse spremenljivke v VBScript, vsaj na začetku, default tipa variant). TOREJ: kako v VBSript jeziku shranit neko vrednost (npr. tipa integer ali boolean) ki jo neka funkcija vrača v neko spremenljivko, tako: "spremenljivka = funkcija()"? Pa to sem mislil da je banalna zadeva pa zgleda da ni!;(

alesrosina ::

kaj pa ce das tkole
dim nekaj
set nekaj as boolean
govorim cist na pamet, nism se nikol mel takih problemov.

Zgodovina sprememb…

Nazgul ::

Se zahvaljujem za poslane predloge (zadnjega še nisem sprobal, ga bom morda ob priliki), vendar po vseh teh mukah sem se odločil spremeniti cel algoritem (sej ni blo tolko) tako da sploh ne pride več do te situacije in zdaj dela.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Applov nov programski jezik Swift (strani: 1 2 )

Oddelek: Novice / Apple iPhone/iPad/iPod
7231687 (26248) Kocka
»

[javascript] return stavek

Oddelek: Programiranje
8886 (708) lebdim
»

[Delphi] exception problem

Oddelek: Programiranje
6727 (622) Keki
»

osnove v Javi - zvezdice

Oddelek: Programiranje
403388 (2610) Tutankhamun
»

Odpiranje dat.exe v VB

Oddelek: Programiranje
122809 (2602) webblod

Več podobnih tem