Visual basic
Last Updated: Nov 22 2004 15:09, Started by
White
, Nov 10 2004 20:23
·
0
#1
Posted 10 November 2004 - 20:23
Problema mea e ca in timpul rularii visual basic-ului, cand dau RUN totul e ok.
Insa daca exportez executabilul si il rulez imi apar o tona de erori: "Object variable or With block variable not set" Erorile sunt de la controlul WebBrowser care nu este existent in executabil (apare doar o pata alba in locul respectiv), cu toate ca atunci cand rulez in debug mode (din Visual Basic) este acolo si totul e ok cum ziceam.. Edited by cretze, 11 November 2004 - 09:52. |
#3
Posted 12 November 2004 - 14:05
executabilul il rulezi pe acelasi calculator? ruleaza-l din VB cu full compile.
apropo, daca iti da eroarea Object not set, inseamna ca folosesti o variabila de tip Object neinitializata, care n-ar avea legatura cu controlul ActiveX. Edited by herr, 12 November 2004 - 14:07. |
#4
Posted 12 November 2004 - 17:52
da, rulez executabilul de pe acelasi calculator, in acelasi director.
sa-l rulez cu full compile? gandeste-te ca daca nu ar fi mers full compile-ul nu ar fi exportat exe-ul. Asta 1. si 2: am rulat cu full compile-ul si nu da nici o eroare. Daca prin absurd foloseam o variabila object neinitializata nu mergea nici in runtime in VB. Ori mie imi functioneaza perfect in debug-mode. Problema asta apare doar cand rulez executabilul exportat, dupa cum ziceam. |
#5
Posted 15 November 2004 - 11:12
apropo de "scula" profesionala numita VB, ruleaza aici codul asta, si compara rezultatele:
If Not 1 Then Debug.Print "true!" Else Debug.Print "false!" End If If 1 Then Debug.Print "true!" Else Debug.Print "false!" End If ti se pare normal??? ca sa excludem problemele pe rind, creaza un proiect gol cu o forma goala, pune acel control, adauga o actiune simpla sa te convigi ca funcioneaza si compileaza-l. daca-ti da eroare, atunci e de la ActiveX, care ori nu e bine instalat, ori ai probleme de licenta. mi s-a intimplat si mie sa-mi mearga in VB in debug mode, dar sa nu mearga in exe, datorita licentei. |
#6
Posted 15 November 2004 - 22:32
Pt. cunostintele tale de programator ... in secventa de cod :coolspeak:
If Not 1 Then Debug.Print "true!" Else Debug.Print "false!" End If VB nu convertete in conditia 'Not 1 ' -> 1 la boolean si apoi face negatia ... ci procedeaza in modul urmator: 1 este un nr. , NOT este operator pe biti , NOT 1 este -2 ... fratele lu' peste ... Pe de ala parte FALSE este 0 in VB iar TRUE orice nr. diferit de 0 ... De aia If Not 1 Then Debug.Print "true!" Else Debug.Print "false!" End If afiseaza acelasi lucru ca si in If Not 1 Then Debug.Print "true!" Else Debug.Print "false!" End If Adica TRUE ! Edited by cretze, 16 November 2004 - 09:11. |
#7
Posted 15 November 2004 - 22:42
Si nici
Dim i,j,k AS INTEGER nu face acelasi lucru cu int i,j,k; :raygun: Edited by sp_attach_db, 15 November 2004 - 22:42. |
#8
Posted 16 November 2004 - 09:27
Asha cum iarna nu-i ca vara ... nici VB-ul nu e ca C-ul ... :nonobad:
:raygun: Edited by sp_attach_db, 16 November 2004 - 09:27. |
#9
Posted 16 November 2004 - 16:38
dar de asta ce ziceti: in vb in debug mode am o erorare care e ignorata de "on error resume next" si programul merge mai departe. in run-time totul e ok pe toate sistemele in afara de NT. pe NT vine Dr. Watson si face galagie, iar programul dupa aceea crapa. nu a mers in fel si chip cu on error resume next, a trebuit sa tratez eroarea explicit.
|
#10
Posted 16 November 2004 - 18:28
Asha ... si nu ti-ai rezolvat problema ... ?
Bai moshule ... nu mai cauta 'nod in papură' VB-ului ... vezi de ai grijă ce spui și ce cod scrii ... Mai consultă și matale msdn-ul ăla ... Toate cele bune stimabile ! :raygun: Edited by sp_attach_db, 16 November 2004 - 18:32. |
|
#11
Posted 16 November 2004 - 18:47
uite aici ce scrie in MSDN la Not:
Not Operator Used to perform logical negation on an expression. Syntax result = Not expression The Not operator syntax has these parts: Part Description --------------------------------------------------- result Required; any numeric variable. expression Required; any expression. Remarks The following table illustrates how result is determined: If expression is Then result is ------------------------------------------------------- True False False True Null Null In addition, the Not operator inverts the bit values of any variable and sets the corresponding bit in result according to the following table: If bit in expression is Then bit in result is ------------------------------------------------------- o 1 1 0 cum e cu ultimul tabel? |
#12
Posted 16 November 2004 - 21:23
Ha, ha, ha ... :coolspeak:
Nene ... nu ai mai intalnit documentatii cu erori de redactare ?! Tabelul cu care ma tot freci la melodie e gresit. In loc de 1 este -1 ! Adica corect e: If bit in expression is Then bit in result is ------------------------------------------------------- 0 -1 -1 0 In ultimul paragraf scrie clar "Not operator inverts the bit" .... Si daca ai fi fost atent Not 0 este -1 si nu 1 cum este in documentatie si Not -1 este binenteles 0 și Not 1 este -2 și nu 0 cum este in tabel. Salutari ... :raygun: |
#13
Posted 16 November 2004 - 21:25
La faza asta VB-ul nu are nici o vină. Cei care au întocmit documentatia au scris prostii.
:raygun: |
#14
Posted 17 November 2004 - 10:02
ce sa-i fac, m-a indobitocit C-ul, unde !1 == 0.
daca te uiti mai bine in tabelul meu, in loc de 0 (zero) este litera "o", exact cum apare in textul original din MSDN. m-am uitat si la M$ pe site si acolo apare tot un "o". care este! :D de aici tragem concluzia privind profesionalismul echipei (a unora dintre ei, daca vrei tu) care a dezvoltat VB. |
#15
Posted 17 November 2004 - 11:18
Da ... am vazut ca in loc de 0 zero era o litera o. Eroarea asta poate fi generata de faptul ca tasta o este imediat sub 0. Da' asta e altă poveste.
In ceea ce privește profesionalismul celor care au deyv VB+ul problema e pusă totalmente greșit ... zic eu. Refuz să cred ca cei care dezvoltă VB+ul sunt aceleași persoane care scriu și documentația din MSDN. Pentru acest lucru sunt angajați speciali ... De altfel am vazut că în echipa de la VB.NET e și un român. :raygun: Edited by sp_attach_db, 17 November 2004 - 11:19. |
|
#16
Posted 17 November 2004 - 15:49
sp_attach_db, on Nov 17 2004, 04:18, said: ...asta explica totul. Tx :) :vampire: |
#17
Posted 17 November 2004 - 16:14
ti-am inteles punctul de vedere herr.
sunt complet de acord cu el. incercasem si chestia cu form-ul nou. totul e ok (inclusiv licenta). deci sa inteleg ca vina trebuie sa o dau pe vb si gata, nu? |
#18
Posted 17 November 2004 - 16:33
@white: uita-te in proiectul VBP la UUID-ul ocx-ului (sau dll-ului). apoi cauta in registry dupa acel UUID si vezi spre ce fisier arata. apoi uita-te din nou in Project-> References si vezi si acolo unde arata referintele. refa legaturile daca e nevoie.
sau: sterge toate controalele ActiveX din proiect si pune-le din nou dupa ce ai restartat VB-ul. o alta mare problema la VB, aici nu are sp_attach_db ce sa mai comenteze, este ca atunci cind ai o eroare de sintaxa undeva prin proiect VB iti arata o alta eroare inexistenta in complet alta parte a proiectului, inclusiv erori de genul celei mentionate de white. |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users