MIKRO KNJIGA - PRIKAZ KNJIGE

Visual Basic .NET Biblija

U ovom poglavlju

Promene tipova podataka

Promene nizova

Promene operatora

Odre?ivanje opsega i inicijalizacija promenljivih

Promene procedura i svojstava

Upravljanje tokom izvršavanja

Promene obrazaca

Promene tipova aplikacija

 

Razlike izme?u jezika VB6 i VB .NET

Jason Beres

isual Basic .NET je najznačajnija nadogradnja jezika Basic još od doba kada je GW-Basic uznapredovao u Visual Basic 1.0. Kao i svaka druga potpuna novina, i ova donosi promene koje su napravljene sa namerom da vam olakšaju život, mada u početku izgleda kao da ga otežavaju. To će se desiti većini korisnika prilikom prelaska na VB .NET. Jedan od problema predstavlja i to što nije u pitanju samo prelazak na novi jezik, već i na novu platformu u .NET Framework-u. Sve što ste u proteklih četiri-pet godina naučili sa Windowsom DNA, COM-om i ASP-om sada se menja i prelazi se na nov način pisanja aplikacija. Kada sam prvi put video VB .NET, izgledao mi je čudno i nelogično; tada sam još uvek razmišljao kao VB6 projektant. Nisam razumeo zašto su svi primeri izgledali kao konzolne aplikacije; tako nešto nisam nikada radio u VB6. Teško sam savla?ivao nove pojmove klasa i princip datoteka za podršku kada sam otkrio gde odlazi sav kôd koji pišem. Brinulo me je učenje SOAP-a i XML-a, pošto se oni javljaju svuda u .NET-u. Me?utim, kao i uvek, odnekle se moralo početi. I tako, upoznavši se prvo sa promenama do kojih je došlo, a zatim pisanjem kratkih aplikacija, brzo sam shvatio da ne postoji jednostavnija stvar od VB .NET-a. Odatle ćemo početi ovo poglavlje.

Č;itajući ovu knjigu videćete da VB kôd sada neosporno drugačije izgleda. Kada počnete sa pisanjem koda, shvatićete da to nije ništa strašno. Izmene u sintaksi imaju smisla, a funkcije kao što je automatsko kompletiranje, automatske liste i dinamički sistem za pomoć čine da je pisanje koda lakše nego ikada do sada. Prva stvar koju treba da dobro upoznate su naredbe i funkcije koje su zastarele ili one koje se više ne koriste, kao i naredbe koje izgledaju isto, ali im je značenje drugačije.

Promene tipova podataka

.NET Framework ima klase koje definišu (obrazuju) Common Type System (sistem zajedničkih tipova) koji omogućava jednoobraznost tipova podataka u svim aplikacijama bez obzira na .NET jezik kojim su pisane. Iz tog razloga Visual Basic je morao da pretrpi izmene u oblasti tipova podataka koje podržava, kao i u numeričkim opsezima postojećih tipova podataka. U sledećim odeljcima objasnićemo te razlike.

U poglavlju 5 naći ćete kompletan opis svih tipova podataka i njihovih opsega.

Tip Variant više ne postoji

U verziji VB6 podaci tipa Variant bili su podrazumevani univerzalni tip podataka; u VB .NET-u njih je zamenio tip podataka Object . Podrazumevana vrednost podataka tipa Object je Nothing (ništa), dok je podrazumevana vrednost podataka tipa Variant bila Empty (prazno).

Dim var1 as Variant

Sada se menja u:

Dim var1 as Object

Tipovi Integer i Long

U verziji VB6 podaci tipa Integer (ceo broj) bili su 16-bitni brojevi koji su mogli imati vrednosti od -32 767 do 32 767. Tip Integer u VB .NET-u zamenjen je tipom Short kao 32-bitnim brojem, a podaci tipa Integer sada mogu imati vrednosti od -2 147 483 648 do 2 147 483 648. Podaci tipa Long sada su 64-bitni brojevi. Za 32-bitne operacije najefikasnije je koristiti podatke tipa Integer .

Dim X as Integer
Dim Y as Long

Sada se menja u:

Dim X as Short

Dim Y as Integer

Tip Currency više ne postoji

Tip podataka Currency je u VB .NET-u zamenjen tipom Decimal . Pošto podaci tipa Decimal obezbe?uju tačnije zaokruživanje brojeva, tip podataka Decimal je pogodan za operacije sa novčanim iznosima. Podaci tipa Currency bili su 64-bitni podaci sa 4 cifre desno od decimalnog zareza. Nov tip podataka, Decimal je 96-bitni pozitivan ili negativan broj koji može imati 28 decimalnih mesta.

Dim X as Currency

Sada se menja u:

Dim X as Decimal

Promene podataka tipa Date

Podaci tipa Date (datumski podaci) sada su 64-bitne celobrojne vrednosti, dok su se u verziji VB6 koristili 64-bitne vrednosti tipa Double . Za prilago?avanje koda koji je radio sa podacima tipa Date na raspolaganju su vam funkcije ToOADate i FromOADate koje obavljaju pretvaranje izme?u podataka tipa Double i Date .

Dim X as Double

Sada se menja u:

Dim X as Double, Y as Date

Y = X.ToOADate

Znakovni nizovi - tip String

Znakovni nizovi fiksne dužine više ne postoje. U SDK dokumentaciji stoji da će ta mogućnost biti dodata u narednim verzijama. Postoji nivo kompatibilnosti koji omogućava rad sa znakovnim nizovima fiksne dužine, ali CLR ih ne podržava direktno.

Naredba DefType više ne postoji

Naredba DefType , koja odre?uje podrazumevani tip podataka za sve promenljive za koje nije izričito deklarisan tip podataka, više ne postoji. Tako?e, ne postoje ni naredbe DefInt , DefStr , DefBool i DefLng .

Funkcije VarPtr, StrPtr, ObjPtr

Ove funkcije, koje daju celobrojne adrese promenljivih koje su se koristile u pozivima funkcija API interfejsa, više ne postoje. Sličan rezultat može se dobiti pomoću metode AddrOfPinnedHandle klase GCHandle .

Nizovi

Jedan od najvećih problema prilikom Microsoftove najave izmena u jeziku VB .NET bila je donja granica nizova. Od samog početka Visual Basic je dopuštao da donja granica niza bude 0 ili 1. Naredba Option Base , koja više ne postoji, odre?ivala je da li će niz biti obra?ivan kao niz čiji elementi počinju od nule ili od 1. Microsoft je konačno odlučio da će svi nizovi kao podrazumevanu donju granicu imati 0, što znači da se mora preraditi postojeći kôd u kome se koristi naredba Option Base 1 kako bi se obezbedilo da ne do?e do gubljenja ili oštećenja podataka, pošto će veličina niza biti različita.

Nizovi ne mogu imati fiksnu dužinu

Nizovi se više ne mogu definisati kao nizovi fiksne dužine zadavanjem donje i gornje granice pri projektovanju. Sada se zadaje samo gornja granica niza, dok se kao donja granica podrazumeva nula.

Dim x(0 to 5) as String ' niz od 6 elemenata

Sada se menja u:

Dim x(5) as String ' niz od 6 elemenata

ili

Dim X as String = new String(5) ' niz od 6 elemenata

Naredba Option Base više ne postoji

Naredba Option Base koja odre?uje donju granicu svih nizova u modulu ili obrascu više ne postoji. Podrazumevana donja granica svih nizova je nula.

Izmene u naredbi ReDim

Naredba ReDim se ne može koristiti za deklarisanje promenljive tipa niz. U jeziku VB .NET niz se deklariše pomoću naredbe Dim , a potom se naredbom ReDim menjaju granice niza.

Vrednost za logičku konstantu True

U verziji VB6, vrednost za True je -1. Isto važi i za VB .NET. Me?utim, u Common Language Runtime vrednost za True je 1. Kada se logičke promenljive prosle?uju izme?u različitih jezika u okviru .NET Frameworka, True će imati vrednost -1 u jeziku VB6 i vrednost 1 u svim ostalim jezicima.

Operatori

Neke od najvažnijih jezičkih izmena u VB .NET-u nastale su u kategoriji operatora. U tabeli 2-1 nalazi se spisak novih operatora koji za programere znače manje pisanja pri radu sa operatorima. Obavezno pogledajte poglavlje 5 u kome su detaljno opisani svi operatori i dati sjajni primeri svega što sa njima možete da uradite.

EQV

Operator EQV je zamenjen operatorom "=" za dodeljivanje vrednosti.

Prespajanje

Dodati su novi operatori AndAlso i OrElse koji upravljaju prespajanjem. Svi drugi operatori ostaju isti. Prespajanje znači da kada prvi deo izraza kao rezultat ima vrednost False, ostatak izraza se zanemaruje, a kao rezultat se dobija vrednost False.

Dim X as Integer = 5

Dim Y as Integer = 6

Dim Z as Integer = 7

ret = X > Y AndAlso Z > Y ' daje False pošto 5 nije veće od 6

Dodeljivanje

VB .NET donosi nekoliko novih, vrlo praktičnih, operatora za dodeljivanje.

Dim intX as Integer
intX = intX + 1

Sada se ovo može napisati i kao:

Dim intX as Integer
intX += 1

U tabeli 2-1 dati su ostali operatori za dodeljivanje koji će vam uštedeti vreme pri pisanju koda.

Tabela 2-1 Novi operatori za dodeljivanje vrednosti

Operator

Radnja

+=

sabiranje brojeva i spajanje znakovnih nizova

-=

oduzimanje

*=

množenje

/= i \=

deljenje

^=

stepenovanje

&=

spajanje znakovnih nizova

Tipovi podataka koje korisnik definiše

VB .NET više ne podržava tipove podataka koje korisnik definiše (engl. user defined type, UDF). Njih su zamenile strukture, koje imaju sličnu sintaksu, ali su mnogo moćnije i fleksibilnije.

Public Type Kupac

strNaziv as String

strEmail as String

End Type

Ovo se menja u:

Public Struct Kupac

Private strNaziv as String

Private strEmail as String

End Struct

Null vrednosti

Prosle?ivanje Null vrednosti ne postoji. Tipovi koji imaju vrednost null prosle?uju se funkcijama kao tip podataka DBNull . Null vrednosti se više ne ispituju naredbom IsNull . Nju je zamenila naredba DBNull .

If IsNull(polje) then ...

Sada se menja u:

If IsDBNull(polje) then ...

Naredba IsEmpty više ne postoji. U verziji VB6, vrednosti NULL i Empty mogle su da se koriste za proveru inicijalizovanosti promenljive ili da li promenljiva sadrži neki podatak. Pošto NULL i Empty više ne važe, funkcija IsEmpty je postala izlišna. Za ovu vrstu provere sada se koristi rezervisana reč nothing .

Opsezi važenja promenljivih

Promenljive se mogu deklarisati u okviru bloka naredbe i tada su dostupne samo u tom bloku. U ovom primeru promenljiva intX dostupna je samo u naredbi If...End If , dok je promenljiva intY dostupna u celoj proceduri.

Private Sub Test()

Dim intY as Integer

If intY > 5 then

Dim intX as Integer

' nešto radimo

End If

intX = 5

'Izaziva poruku o grešci pošto intX ne može da se
koristi izvan bloka If.

intY = 10

' Ovo je u redu pošto intY nije deklarisana u bloku If.

End Sub

Inicijalizovanje promenljivih

Promenljivama sada možemo dodeljivali vrednosti u istom redu programskog koda u kome su deklarisane.

Dim intX as Integer
intX = 5

Sada se može napisati kao:

Dim intX as Integer = 5

Objekti mogu da se instanciraju i pomoću rezervisane reči New u istom redu programskog koda u kome je deklaracija objekta. Ovo je potpuno suprotno verziji VB6 u kojoj to nije bilo dozvoljeno zbog načina na koji je COM morao da obezbedi da objekat bude formiran pre nego što počne da koristi njegova svojstva i metode.

Dim cn As Connection
Set Cn = New Connection

Sada se može napisati kao:

Dim cn As SQLConnection = New SQLConnection ' ovo je efikasnije

Sada možete da u istom redu programskog koda deklarišete više promenljivih istog tipa. Pogledajte sledeći kôd:

Dim str1, str2, str3 as String

U verziji VB6, promenljive str1 i str2 bile bi promenljive tipa Variant , a promenljiva str3 tipa String . U jeziku VB .NET sve tri promenljive su tipa String .

Promenljive u nizu ParmArray

Promenljive u nizu ParmArray više se ne prosle?uju po referenci ByRef . Sada se promenljive ParmArray prosle?uju po vrednosti, a funkcija koja ih prima može da menja vrednosti niza ParmArray kao što to čini sa običnim nizovima.

Problemi sa jezikom

Jedan od najvećih problema prilikom prelaska na VB .NET biće učenje zamena za postojeće funkcije. Ovaj odeljak opisuje specifične funkcije koje su dobile novu sintaksu. U poglavlju 8 detaljno ćemo se upoznati sa radom sa datumima i vremenom, što je veoma važno pošto su to standardne funkcije sa kojima ćete stalno raditi.

Funkcija IsMissing

Funkcija IsMissing više ne postoji i treba je zameniti naredbom IsNothing .

Funkcije Date$ i Time$

U verziji VB6 funkcije Date$ i Time$ daju znakovni niz koji predstavlja tekući datum i vreme. One su u jeziku VB .NET zamenjene metodama DateString i TimeString .

Funkcije Atn, Sgn i Sqr

Funkcije Atn , Sgn i Sqr zamenjene su metodama Atan , Sign i Sqrt klase System . Math .

Funkcija MsgBox

Funkcija MsgBox zamenjena je metodom Show klase MessageBox.

MsgBox "VB6 je sjajan"

Sada se menja u:

MessageBox.Show "VB .NET je bolji"

Iako je funkcija MsgBox i dalje podržana pomoću biblioteke za kompatibilnost, trebalo bi da koristite nove klase MessageBox pošto je funkcija MsgBox samo omotač koji poziva klase MessageBox .

Procedure

Pošto VB .NET u potpunosti podržava objektno orijentisane mogućnosti, došlo je do bitnih promena u opsezima procedura, povratnim vrednostima i tipovima procedura koje možete da koristite. Pored ovde pomenutih promena, u poglavljima 8 i 14 naći ćete detaljnije objašnjenje svega što možete da radite sa procedurama u jeziku VB .NET.

Pozivanje procedura

Pri pozivanju procedura, bilo tipa Sub ili funkcija, spisak argumenata se uvek piše izme?u zagrada, čak i ako procedura nema nijedan argument.

Sub Test()

' programski kod

End Sub

Call Test

Sada se menja u:

Call Test()

Statičke procedure

Statičke procedure više ne postoje. Ako ste koristili statičke procedure, trebalo bi da ih zamenite sa standardnim procedurama, a promenljive unutar statičkih procedura definišite kao Static .

Static Sub Test()

Dim X as Integer

End Sub

Sada se menja u:

Sub Test()

Static X as Integer

End Sub

ByVal, ByRef i As Any

Podrazumevano ponašanje za ByVal i ByRef je promenjeno. U jeziku VB6 podrazumevani način prosle?ivanja parametara bio je ByRef . U VB .NET-u, podrazumevani mehanizam prosle?ivanja promenljivih procedurama je ByVal . Naredba As Any u naredbi Declare poziva API funkcije, više ne postoji.

Svojstva

Sintaksa za deklarisanje procedura svojstava izmenjena je zbog prilago?avanja objektno orijentisanim mogućnostima VB .NET-a. U poglavlju 14 dati su primeri upotrebe svojstava i pokazana specifična sintaksa koju ćete koristiti.

Let, Get i Set

Rezervisana reč Let se više ne koristi. Kada se koriste Set i Get , opseg važenja svojstva mora da bude isti u VB .NET-u. U verziji VB6 opseg procedure Get mogao je da bude Private , dok je opseg procedure Set mogao da bude Public . To se lako uočava u načinu na koji svojstvo mora da bude deklarisano.

Friend Property strName() As String

Get

End Get

Set(ByVal Value As String)

End Set

End Property

Podrazumevana svojstva

Nijedna vrsta objekata više nema podrazumevana svojstva. U verziji VB6, klase koje ste sami napisali mogle su da imaju podrazumevana svojstva, kao i vizuelni objekti, na primer polja za tekst, obične liste i padajuće liste.

strName = Text1 ' Text1 je ime polja za tekst na obrascu
Me.Caption = "Zdravo svima"

Sada se menja u:

strName = Text1.Text ' neophodno je izričito navo?enje svojstva Text

Me.Text = "Zdravo svima"

Podrazumevana svojstva se i dalje mogu definisati. Pogledajte poglavlje 14 u kome ćete naći više detalja o tome kako se to radi.

Upravljanje tokom izvršavanja

Promene u upravljanju tokom izvršavanja programa nisu tako drastične. Najveća promena je rezervisana reč GoSub , ali, kako je većina projektanata ne koristi još od verzije VB 2.0, nikome neće zaista nedostajati. Naredba Return je novi način za prosle?ivanje povratnih vrednosti iz funkcijskih procedura.

While...Wend

Konstrukcija While...Wend više ne postoji. Nju je zamenila konstrukcija While...End While .

While X < 5

' programski kod

Wend

Sada se menja u:

While X < 5

' programski kod

End While

GoSub...Return

Komanda GoSub...Return za prelaženje u drugu proceduru iz tekuće, više ne postoji. Sledeći kôd više ne važi:

Sub Test

Return

End Sub

Sub Test2

GoSub Test

End Sub

Return

Naredba Return sada predaje upravljanje objektu koji je pozvao funkciju. Funkcija može da prosledi pozivajućem objektu i povratnu vrednost.

Private Function GetNames() as String

Dim strName as String

strName = "Sedam od devet"

GetNames = strName

End Function

Sada se menja u:

Private Function GetNames() as String

Dim strName as string

strName = "Sedam od devet"

Return strName

End Function

Izmene u aplikacijama koje koriste obrasce

Aplikacije u kojima se koriste obrasci Windows Forms upotrebljavaju potpuno drugačiji podsistem za iscrtavanje obrazaca na stranici, zbog čega ćete morati da se lišite odre?enih mogućnosti koje ste možda koristili za prikazivanje informacija na obrascu. Jedna od najkorisnijih novih mogućnosti u VB .NET-u je IDE za dodavanje menija na obrasce i kontrolnih objekata za štampanje obrazaca koji omogućavaju potpuni prikaz slike pre štampanja u aplikacijama u kojima se koriste obrasci tipa Windows Forms.

PrintForm

Metoda PrintForm više ne postoji. .NET Framework ima nov podsistem za štampanje, sa funkcijama kao što je Print Preview (prikaz pre štampanja), koje omogućavaju robustnije rukovanje slikama trenutnog stanja ekrana i štampanjem obrazaca.

Metode Circle, Cls, PSet, Line i Point

Ove metode u VB .NET-u više ne postoje. Grafičke metode verzije VB6 su zamenjene sa imenskim prostorom System. Drawing koji za crtanje koristi nove klase GDI+.

Svojstvo Caption

Svojstvo Caption kontrolnih objekata tipa natpis i obrazaca više ne postoji, a zamenjeno je svojstvom Text .

Label1.Caption = "VB .NET"
Form1.Caption = "Moj obrazac"

Sada se menja u:

Label1.Text = "VB .NET"
Form1.Text = "Moj obrazac"

Tvipovi na obrascima

Tvipovi su kao merna jedinica na obrascima zamenjeni sa pikselima.

Fontovi

Fontovi na VB6 obrascima mogli su da budu bilo koji fontovi koje podržava Windows sistem. Obrasci tipa Windows Forms podržavaju samo True Type i Open Type fontove.

Nizovi kontrola

U verziji VB6 više kontrola sa istim imenom, a različitim vrednostima svojstva Index moglo je da deli istu proceduru za obradu doga?aja. U VB .NET-u kontrole se ne mogu grupisati u nizove, ali se ista procedura može koristiti za više kontrola pomoću rezervisane reči Handles .

Kontekstni meniji i glavni meniji

U verziji VB6, meni koji je dodat obrascu može da se koristi i kao glavni meni u gornjem redu obrasca i kao kontekstni meni koji se pojavljuje nakon pritiska na desni taster miša. U VB .NET-u meni može da bude glavni ili kontekstni, ali ne istovremeno i jedno i drugo.

DDE

Mehanizam DDE više nije podržan. Aplikacije mogu me?usobno da komuniciraju pomoću drugih mehanizama, kao što su OLE, Web Services ili unutarprocesne komponente.

Objekat Clipboard

Klasa Clipboard zamenjuje objekat Clipboard .

Promene kontrolnih objekata

Kada započnete novu Windows Forms aplikaciju, na paleti sa alatkama videćete neke nove zanimljive kontrolne objekte. Kontrolni objekti koje ćemo nabrojati u ovom odeljku više ne postoje i oni se ne vide na paleti sa alatkama.

Kontrolni objekat OLE

Kontrolni objekat OLE Container koji je omogućavao dodavanje OLE objekata na obrasce više ne postoji.

Kontrolni objekat Image

Kontrolni objekat Image je u VB .NET-u zamenjen sa kontrolnim objektom PictureBox.

Kontrolni objekat Line

Kontrolni objekat Line je zamenjen metodom Draw klase GDI+.

Kontrolni objekat Shape

Kontrolni objekat Shape je zamenjen metodom Draw klase GDI+.

Tipovi aplikacija

Mnogi od šablona za aplikacije koje ste koristili u prethodnim verzijama jezika VB više ne postoje, a za neke aplikacije čak nema ni načina za nadogradnju.

Webclasses

Aplikacije tipa Webclasses više nisu podržane. Za pisanje Web aplikacija trebalo bi da se koriste aplikacije tipa Web Forms. Moć i funkcionalnost koje obezbe?uju aplikacije tipa Web Services i ASP .NET pružiće vam mnogo više fleksibilnosti nego što su aplikacije tipa Webclasses bile u stanju da pruže.

ActiveX dokumenti

Aplikacije tipa ActiveX Document više nisu podržane. Naravno, možete napisati aplikaciju tipa Windows Forms koja se izvršava unutar čitača kao bezbedan kôd i tako imitirati aplikaciju tipa ActiveX Document, pri čemu ćete zadržati potpuni objektni model aplikacije tipa Windows Forms i podršku za kontrolne objekte.

DHTML aplikacije

DHTML aplikacije više nisu podržane. Za pisanja Web aplikacija treba koristiti aplikacije tipa Web Forms.

Namenski kontrolni objekti koje korisnik pravi

Namenski kontrolni objekti napravljeni u verziji VB6 mogu da se koriste u jeziku VB .NET, me?utim nije moguće ažuriranje ili menjanje svojstava tih kontrolnih objekata u fazi projektovanja aplikacije.

Stranice svojstava

Stranice svojstava više nisu podržane i ne postoji način za nadogradnju. Ovo nije veliki problem pošto su se stranice svojstava koristile u aplikacijama tipa ActiveX, a u .NET-u ćete praviti User kontrolne objekte umesto ActiveX kontrolnih objekata.

Pristup podacima

ADO .NET je nova biblioteka za pristup podacima iz bilo kog izvora. Više od obične nadogradnje, to je stvarno iznova napisana biblioteka u odnosu na prethodnu verziju ADO-a koju ste možda koristili. Veliki problem za nadogradnju postojećih aplikacija na VB .NET jeste uklanjanje direktnih veza izme?u kontrolnih objekata i podataka. Ukoliko vam u nadogradnji pomaže čarobnjak Upgrade Wizard, bićete upozoreni na kôd koji se ne može prepraviti ako ste na bilo koji drugi način koristili povezivanje podataka sa kontrolnim objektima.

Povezivanje kontrolnih objekata sa RDO i ADO izvorima podataka

Povezivanje kontrolnih objekata sa RDO ili ADO izvorima podataka više nije podržano. Sledeći kôd je nevažeći:

Text1.DataFiled = "Ime_kupca"
Set Text1.Datasource = rs

VB .NET pruža izuzetno snažne i napredne mogućnosti za povezivanje sa izvorima podataka, a one se malo drugačije primenjuju.

Model DAO

Model DAO - Data Access Objects - u VB .NET-u više nije podržan. Pošto podacima možete pristupati pomoću ADO.NET-a, gubitak neće izazvati veće potrese. To samo znači da ćete morati da obavite konverziju DAO koda u ADO.NET kôd.

Otklanjanje grešaka

Visual Basic je oduvek bio u samom vrhu po podršci za otklanjanje grešaka. Metoda Debug.Print je zamenjena, ali to nije ništa u pore?enju sa svim novim mogućnostima koje otklanjanje grešaka čine lakšim nego ikada. U poglavljima 18 i 42 opisane su metode za otklanjanje grešaka u Windows i Web aplikacijama.

Metoda Debug.Print

Metoda Debug.Print je zamenjena metodom Debug.Write ili Debug.Writeline . Klasa Debug obezbe?uje potpun skup metoda i svojstava koja pomažu u otklanjanju grešaka u kodu.

Debug.Print Err.number

Sada se menja u:

Debug.Writeline Err.Number ' sadrži i znak za prelazak u novi red

ili

Debug.Write Err.Number ' ne sadrži znak za prelazak u novi red

Debug.Assert

Metoda Debug.Assert više nije podržan. Zamenile su je metode Assert i Fail klase Debug .

Sažetak

U ovom poglavlju upoznali smo se sa razlikama izme?u jezika VB6 i jezika VB .NET. Većina velikih promena odnose se najverovatnije na retko korišćene pozive funkcija, me?utim, prilikom nadogradnje moraćete da znate šta je dovelo do greške u kodu.

VB .NET sadrži imenski prostor Microsoft.VisualBasic koji obuhvata većinu nasle?enih funkcija jezika VB6 koje su i dalje podržane u .NET okruženju, me?utim, trebalo bi da izbegavate upotrebu imenskog prostora Microsoft.VisualBasic i da umesto njega koristite imenski prostor System koji će učiniti da vaš kôd bude kompatibilan sa svim .NET jezicima.