4 svar

  1. 16

    Hvis du vil gøre et valg for et nyt projekt, så de relevante punkter er:

    • VB6 er arven (udgivet i 1998, den IDE er ikke længere understøttes, og runtime kun understøttet for levetiden af Win8)
    • VS2008 understøtter ikke VB6
    • VB.NET er i et moderne sprog, der understøttes i VS2008

    Jeg vil sige, at der er meget få grunde (hvis nogen!) at vælge VB.GAMLE over VB.NET.

    Hvis du “bare interesseret”, så Wikipedia-artikel om de enkelte sprog, er ganske informativ, men i en nøddeskal, at de er ganske forskellige sprog, der har overfladisk lignende syntaks. VB havde sin egen runtime, hvor VB.NET er en af mange sprog, at bruge de mere moderne .NET Framework.

    Jeg er nødt til at rette en detalje. VB6 runtime er stadig understøttet, men den IDE er det ikke. Jeg er stadig enig i, at det er næsten altid bedre at vælge VB.Net for nye projekter.
    God pointe 🙂 Vil rette!
    Jeg er sikker på der må være et eller andet sted, men jeg er stadig virkelig kæmper for at komme op med en grund til at udvikle VB6 på en ikke-understøttet IDE til ethvert nyt projekt.
    Runtime er understøttet for mindst levetiden for Windows 7 og Windows Server 2008, ikke kun. Microsoft har ikke oplyst endnu, om ikke det vil være understøttet ud over det. De siger, at de har “ingen planer” for at støtte det. IMHO, at Disse ord er nøje udvalgt til at være så skræmmende som muligt, uden egentlig helt at sige, at de ikke vil støtte det.
    Jeg havde ret i min tidligere kommentar! Nu runtime er understøttet for mindst levetiden af Windows 8, ikke kun. De siger, at de har “ingen planer” for at støtte det, ved hjælp af bevidst skræmmende ord. Ligesom de gjorde for Windows 8: lo og se, da Windows 8 blev frigivet VB6 runtime blev inddraget og støttet.

    OriginalForfatteren Dan Puzey

  2. 35

    Der er en masse af forskelle.

    • Den største ændring i VB6 og VB.NET er af runtime-miljø. VB6, der anvendes VB-Runtime, mens VB.NET bruger .Netto (Common Language Runtime.Net CLR). CLR er meget bedre designet og implementeret end VB-Runtime. CLR bruger bedre kode oversættelse gennem Just-in-Time compiler, mens VB-Runtime fortolker koden. CLR Garbage Collector er også mere effektiv end VB6, da det kan afsløre cykliske referencer også.
    • VB6 var tolk baseret sprog, mens VB.NET er et kompileret sprog
    • VB6 var ikke en type-safe sprog, mens VB.NET er en type, der sikkert sprog. Der er ingen variant type i VB.NET og ingen magiske type konverteringer sker i VB.NET

    nogle andre forskelle:

    Arv

    VB.Net understøtter arv ved at give dig mulighed for at definere klasser der tjener som grundlag for afledte klasser. Afledte klasser arve, og kan udvide på egenskaber og metoder for base klasse. De kan også tilsidesætte nedarvede metoder med nye implementeringer af base klasse. Alle klasser, der er oprettet med VB.Net er arvelige som standard. Fordi de formularer, du design er virkelig klasser, du kan bruge arv til at definere nye former baseret på de eksisterende. For nærmere oplysninger, se Arv i Visual Basic.

    Exception Handling

    VB.Net understøtter structured exception handling, ved hjælp af en forbedret version af den Prøve…Fangst…Endelig syntaks understøttes af andre sprog som C++. Structured exception handling kombinerer et moderne kontrol-struktur (svarende til at Vælge Tilfælde, eller Mens) med undtagelser, der er beskyttet blokke af kode, og filtre. Structured exception handling gør det nemt at oprette og vedligeholde programmer med robuste, omfattende fejl håndtering. For nærmere oplysninger, se Introduktion til Håndtering af undtagelser.

    Overbelastning

    Overbelastning er evnen til at definere egenskaber, metoder, procedurer, eller de aktører, der har det samme navn, men bruger forskellige data typer. Du kan bruge overbelastet procedurer til at give så mange implementeringer, som er nødvendige for at håndtere forskellige typer af data, og samtidig giver det udseende af en enkelt, alsidig procedure. For nærmere oplysninger, se Overbelastet, Egenskaber og Metoder.

    Overordnede Egenskaber og Metoder

    Den Tilsidesætter søgeord giver mulighed for afledte objekter for at tilsidesætte egenskaber arvet fra overordnede objekter. Tilsidesættes medlemmer har de samme argumenter som medlemmer nedarvede fra base klassen, men de har forskellige implementeringer. Et medlem ‘ s nye gennemførelse kan kalde den oprindelige implementering i den overordnede klasse, som går forud for det pågældende navn med MyBase. For nærmere oplysninger, se Overordnede Egenskaber og Metoder.

    Konstruktører og Destruktionsfunktioner

    Konstruktører er procedurer, der styrer initialisering af nye instanser af en klasse. Omvendt, destruktionsfunktioner er metoder, der gratis systemressourcer, når en klasse blade rækkevidde eller er indstillet til Intet. VB.Net understøtter konstruktører og destruktionsfunktioner ved hjælp af Sub-Nye og Sub Færdiggøre procedurer. For nærmere oplysninger, se Objekt Levetid: Hvordan Objekter Er Skabt og Ødelagt.

    Data Typer

    VB.Net introducerer tre nye datatyper. Char data type er et ikke-signeret 16-bit-mængde, der anvendes til at gemme Unicode-tegn. Det svarer til det .NET Framework System.Char data type. Kort data type, en signeret 16-bit-heltal, der blev opkaldt Heltal i tidligere versioner af Visual Basic. Decimal data type er en 96-bit heltal med fortegn skaleret af en variabel effekt af 10. I tidligere versioner af Visual Basic, det var kun tilgængelig inden for en Variant. Hertil kommer, at Visual Basic understøtter nu unsigned integer typer data (UShort, UInteger, og ULong), samt den underskrevne type SByte. For nærmere oplysninger, se Data Typer i Visual Basic.

    Grænseflader

    Grænseflader beskrive de egenskaber og metoder, klasser, men i modsætning til klasser, interfaces ikke give implementeringer. Bruger Interface erklæring om at erklære grænseflader bruge Redskaber erklæring for at skrive koden, der sætter de elementer, der er beskrevet i grænseflade til praksis. For nærmere oplysninger, se Grænseflader i Visual Basic.

    Delegerede

    Delegerede, der er objekter, der kan kalde metoder på objekter på dine vegne og er nogle gange beskrevet som type-safe, objekt-orienteret funktionspointere. Du kan bruge de delegerede til at lade procedurer angive en event handler metode, der kører, når en begivenhed indtræffer. Du kan også bruge delegerede med flertrådede programmer. For nærmere oplysninger, se Delegerede og AddressOf Operatør.

    Fælles Medlemmer

    Fælles medlemmer er egenskaber, procedurer og felter, der er fælles for alle instanser af en klasse. Fælles data-medlemmer er nyttig, når flere objekter er nødt til at bruge oplysninger, som er fælles for alle objekter. Du kan bruge fælles klasse-metoder uden først at oprette et objekt fra en klasse. For nærmere oplysninger, se Fælles Medlemmer i Visual Basic.
    Referencer

    Du kan bruge Henvisninger til brug objekter, der er defineret i andre forsamlinger. I VB.Net henvisninger punkt til forsamlinger i stedet for type biblioteker. For nærmere oplysninger, se Referencer og Import Erklæring.

    Navnerum

    Navnerum undgå navnekonflikter ved at organisere klasser, interfaces og metoder i hierarkier. For nærmere oplysninger, se Navnerum i Visual Basic.

    Forsamlinger

    Forsamlinger udskifte og udvide kapaciteten af type biblioteker ved at beskrive alle de nødvendige filer til en bestemt komponent eller et program. En forsamling, der kan indeholde en eller flere namespaces. For nærmere oplysninger, se Forsamlinger.

    Attributter

    Du kan bruge egenskaber til at give yderligere oplysninger om programmet elementer. For eksempel, kan du bruge en attribut til at angive, hvilke metoder i en klasse bør blive udsat for, når klassen er brugt som en XML Web service. For nærmere oplysninger, se Attributter i Visual Basic.

    Multithreading

    Du kan bruge VB.Net at skrive programmer, der kan udføre flere opgaver selvstændigt. En opgave, der kan holde op med andre opgaver, kan udføre på en separat tråd, en proces kendt som multithreading. Ved at forårsage komplicerede opgaver til at køre på tråde, der er separat fra din bruger-interface, multithreading gør dine programmer mere lydhør over for brugerens input. For nærmere oplysninger, se Flertrådede Applikationer.

    Bit Shift Operatører

    VB.Net understøtter nu aritmetiske venstre – og højre-skift operationer på integreret data-typer (Byte, Short, Integer, Long) samt på unsigned typer (UShort, UInteger, og ULong). Aritmetiske skifter ikke er cirkulær, hvilket betyder, at de bits, der er flyttet fra den ene ende af resultatet er ikke genindføres i den anden ende. Den tilsvarende opgave operatører. For nærmere oplysninger, se Bit Shift Operatører og Operatører Opgave.

    Loop Variabel Erklæring

    Du kan bruge VB.Net for at erklære en loop variabel, som en del af et For-eller For Hver sløjfe. Du kan medtage en klausul om, at den variable i For eller For Hvert udsagn, forudsat at der ikke variabel af, at navnet er blevet erklæret uden for løkken. Omfanget af et loop variabel erklæret i denne måde er løkke selv. For nærmere oplysninger, se …Næste Sætning (Visual Basic) og For Hver…Næste Sætning (Visual Basic).

    Yderligere informationer:

    Redigere: som kommenterede nogle funktioner som konstruktører var der allerede er understøttet i VB6(på en anden måde), har et kig på de sidste link hvad, der tager mere hensyn til

    +1 for et fyldestgørende svar, og endda links til mere information!
    Alle de kugler i første afsnit, er forkerte: 1. i VB6 ingen samlet til fortolkes EXEs, tolk bruges kun på IDE-for debugging. 2. GC er ikke mere effektiv end refcounting. 3. VB6 er ikke tolk baseret sprog-der er ikke nogen eval funktion som i JS. 4. VB6 er type-safe sprog, det er bare svagt-skrevet (som C), som ikke er en “svag” point per se. Én ting er sikker — Microsoft gjorde et stort stykke arbejde dæmoniserer VB6, skræmme de fleste af VB6 devs (millioner), og senere at fange dem i .Netto. En ting er jeg sikker på-det vil ske igen… med .Netto.
    -1. WQW er ganske rigtigt, og der er andre fejl. VB6 har grænseflader og konstruktører og destruktionsfunktioner.
    jeg har nævnt det i min redigering, og det sidste link.
    Markeret du op for den store oversigt.

    OriginalForfatteren Rango

  3. 4

    Klassiske VB ikke understøtter de fleste OOP funktioner, mens VB.NET gør.

    VB.NET har en begrænset understøttelse for flere arv (så det ikke “støtte alle PK-funktioner”. Jeg siger ikke, VB classic gør, bare at pege ud af din erklæring ikke er teknisk korrekt.
    Jeg har redigeret svaret til at afspejle dette.

    OriginalForfatteren SharpAffair

  4. 3

    Store forskelle er Version Nummer og Objekt Orientering.

    Op til version 6, det blev kendt som VB. Fra version 7, der blev udgivet med .Net 1,0, det blev kendt som VB.NET.

    Det blev fuldstændig moderniseret i version 7 for at blive mere strømlinet .Net Framework (CLI & CLS kompatibilitet) og andre sprog som C# og Java.

    I denne overgang, flere ændringer forårsaget brudt bagudkompatibilitet med tidligere versioner. Det er derfor, Microsoft har givet et par værktøjer i Visual Studio til at konvertere gamle VB6 apps ind .Netto.

    OriginalForfatteren decyclone

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *