1 / 68

Uppgradera till Visual Basic .NET

Uppgradera till Visual Basic .NET. Per Ahlberg Johan Lindfors. Hur kan vi bli bättre. Era utvärderingar är viktiga! Betygsätt innehåll, talare, relevans Kommentera gärna Kommentarer förra kvarttalet Mer Visual Basic Jättebra att kunna ställa frågor innan seminariet

dillon
Télécharger la présentation

Uppgradera till Visual Basic .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uppgradera till Visual Basic .NET Per Ahlberg Johan Lindfors

  2. Hur kan vi bli bättre... • Era utvärderingar är viktiga! • Betygsätt innehåll, talare, relevans • Kommentera gärna • Kommentarer förra kvarttalet • Mer Visual Basic • Jättebra att kunna ställa frågor innan seminariet • Vegetariska alternativ borde finnas

  3. Vad har vi pratat om tidigare? • En hel del saker... • Windows Server 2003 • Säkerhet i .NET Framework • XML Web Services • J2EE och .NET • Java vs C# • Smarta klienter • .NET Compact Framework • Office 2003

  4. Vad kommer vi prata om... • Idag • VB 6.0 till VB.NET • Nästa gång – februari/mars • Säkerhet, säkerhet, säkerhet • Och gången därpå – innan sommaren • Det vet jag inte än... • Jag jobbar på Longhorn, Whidbey, Yukon • Eller C++???

  5. Lokala resurser för utvecklare • MSDN Flash • Regelbundet nyhetsbrev • MSDN Live • Regelbundna seminarier • MSDN Chatt • Ge feedback, ställ frågor • MSDN Webb • www.microsoft.se/msdn

  6. MSDN TV • Presentationer och demonstrationer • Runt 30 minuter långa • 1-2 demonstrationer • Se på nätet eller ladda ner! • 17 sessioner just nu • C# • Visual Basic .NET • Säkerhet • DirectX

  7. MSDN Prenumerationer • Prioriterad tillgång till mjukvara • Automatisk månadsvis uppdatering • Library • Operating Systems • Professional • Enterprise • Universal

  8. Globala resurser för utvecklare • ”Developer Centers” • Säkerhet • Longhorn • Utbildning • MSDN TV • ”WebCasts” • Artiklar • Kod http://msdn.microsoft.com

  9. PAG • Prescriptive Architecture Guidance • Relevanta tips • Konkreta förslag • Omfattande lösningar • Tekniskt bevisade • Fritt att ladda hem!

  10. Empowerment – speciellt för ISV • Vad får jag? • Upp till fem licenser av • Windows XP/2000 Professional • Office XP/2000 Premium eller Developer • En serverlicens och fem CAL • Windows 2000/2003 Standard eller Enterprise • Exchange 2003 Standard eller Enterprise • SQL Server Standard eller Enterprise • SharePoint Portal Server • Fem stycken MSDN Universal-prenumerationer

  11. Empowerment – speciellt för ISV • Jag åtar mig att utveckla en produkt för • Windows Server 2003, XP eller 2000 • SQL Server 2000 • Pocket PC eller Smartphone • Vad kostar det? • 375 USD • Kontakta: evakan@microsoft.com www.microsoft.com/sverige/partner/Empower_ISV_SE.asp

  12. Vilka är vi som är här idag?

  13. Agenda • Visual Studio .NET • Utvecklingsmiljön • Uppgradera till Visual Basic .NET • Att uppgradera • Verktyg • Windowsformulär och komponenter • ADO/XML • Webblösningar • Win32 API • Utrullning och installation

  14. Nyheter i utvecklingsmiljön • Alla projekt och lösningar i samma miljö • Webbutveckling/Webbservices • Windows applikationer • Mobila lösningar • Windows services • Office 2003 • Gemensamma verktyg för alla språk/lösningar

  15. 01 Nyheter i utvecklingsmiljön • ”Rapid Application Development” (RAD) • Icke grafiska kontroller placeras separerat från UI • Arv med grafiska gränssnitt syns direkt • Ny meny editering • Handtag, dockning, låsa egenskaper • Ändra storlek på många kontroller • Plus mycket, mycket mer…

  16. Kontrollskott! • Var ändrade Per typsnitt för texteditorn? • Vad står PAG för? • Vad är adressen till svenska msdn-webben?

  17. Tips och Tricks! • Ta bort Microsoft.VisualBasic namnrymden! • Project | Common Properties | Imports • Koden som genereras av verktyget är bra kod! • Använd som exempelkod • Hjälptexten är gigantisk! • Lär dig att hitta och kopiera från exempel! • Lär dig hitta på nätet! • www.google.com • msdn.microsoft.com • www.pellesoft.se • www.gotdotnet.com • www.windowsforms.net

  18. Agenda • Visual Studio .NET • Utvecklingsmiljön • Uppgradera till Visual Basic .NET • Att uppgradera • Verktyg • Windowsformulär och komponenter • ADO/XML • Webblösningar • Win32 API • Utrullning och installation

  19. Visual Basic .NET • Inte bara Visual Basic 6.0 + 1 • Byggt för .NET Framework • Common Language Runtime (mscoree.dll) • Alla basklassbibliotek (mscorlib.dll + andra) • Moderniserad och uppstädad syntax • Helt och hållet objektorienterat språk

  20. CLR: Nyckelfunktioner • Stöd för flera programspråk • Delade typer (Common Type System) • Ersätter delar av COM:s exekveringslager • Automatisk städning av objekt • ”Garbage Collection” • Stöd för multitrådning • Inbyggd säkerhet, ned på kod nivå • Kodbaserad, bevisbaserad

  21. 02 Visual Basic .NET • Förbättrat arv av interface • Överskrivning (override) och överlagring (overload) • Konstruktorer med parametrar • Strukturerad felhantering - SEH • (Try…Catch…Finally…End Try) • Genvägar Dim cnSql As New SqlConnection(strConn) Private i,x,y As Int32 i+=1, strName &=“Bob” For Each s As String In X

  22. 03 Visual Basic .NET – Viktiga nyheter • MessageBox.Show(“Hello World”) • ByRef eller ByVal krävs • Eventhanterare • Använder nyckelordet ”Handles” • Gemensam signatur • Arrays börjar nu alltid på 0 • Varianter finns ej längre, ”object” istället  • Property…End Property Handles Button1.Click, Button2.Click (sender As Object, e As xxxEventArgs)

  23. Visual Basic .NET - Upprensning • Borttaget • Def... • Imp, Eqv • Funkar faktiskt men… • GoTo [Line no.] • Ta bort • GoSub…Return • LSet, VarPtr, ObjPtr, StrPtr

  24. Visual Basic .NET - Datatyper • Heltal: • Flyttal • Currency ersatt av Decimal

  25. 04 Visual Basic .NET – Till sist... • Det är fortfarande Visual Basic • Körs endast med .NET Framework • RAD för både Windows och Webb • < 100% bakåt kompabilitet • VBA • Inte ett .NET språk • Kommer leva kvar!

  26. Uppgradering • Alternativ • Delvis uppgradering (använd COM interop) • Utvärdera fördelar • Ger det mer värde? • Ökad prestanda? • Ökad skalbarhet? • Utvärdera kostnader • Kan jag använda uppgraderingshjälpen? • Storlek och komplexitet? • Befintlig kvalitet på kod? • Drar fördel av .NET Framework? • Nytt språk och ny arkitektur? • Applikationens livslängd?

  27. Uppgradering - Tekniker

  28. Uppgradering - förberedelser • Bryt upp applikationer i mindre projekt • Slå fast förhållandet mellan applikationerna • Kör ”Upgrade Wizard” • Beräkna tidsåtgången för varje del • Förbereda, uppgradera, fixa • Designa om och testa

  29. Uppgradering • Kör sida vid sida • VB6 & Visual Studio på samma maskin • Installera i vilken ordning som helst • Använd ”Upgrade Wizard” • ActiveX kontroller ändras ej • Kör Visual Basic 6.0 under uppgradering • Ändrar ej originalet

  30. 05 Verktyg - ”Upgrade Wizard” • Fel som inte hanteras • Dim x As New y • Vissa typ-konverteringar • Egenskaper skickade med ByRef • Dim x()ReDim x(5,5) • Vissa funktioner på ActiveX kontroller

  31. 06 Verktyg - ”Code Snippet” • Vad är det? • Ett inbyggt verktyg i Visual Studio .NET • Alternativ till projekt konvertering • Gjort för kod snuttar • Fungerar bra med ASP till ASP.NET också!

  32. 07 Verktyg – ”Code Advisor for VB6” • Vad är det? • Add-in till Visual Basic 6 • Ger förslag direkt i VB6 koden • Vad som inte kommer att fungera • Vad som bör göras • ”Best practices”

  33. 08 Användargränssnittet • Windows Forms på det nya sättet • Windows Forms med .NET klasser • Bättre grafik med GDI+ • Genomgånde förändringar: • Gemensam utvecklingsmiljö • Kontroller och händelser • Globalisering / lokalisering Dim frm As New Form1 frm.Show() ‘eller frm.ShowDialog()

  34. Användargränssnittet • Vissa nya eller mycket förbättrade kontroller • LinkLabel, NotifyIcon • MainMenu, ContextMenu • Hjälpkontroller • ToolTip • ErrorProvider • HelpProvider • ToolBar • Splitter

  35. 09 Användargränssnittet • Borttagna eller ersatta kontroller • Spinner • Line and Shape • DirListBox, FileListBox, DriveListBox • CommonDialog • Image • Frame

  36. Användargränssnittet • Ändringar för mushändelser • Nya mushändelser: • MouseEnter, MouseHover, MouseLeave • MouseWheel • MouseEventArgs objektet: • Button • X, Y • Clicks • Delta • Grafiska kontroller ger också åtkomst till mushändelser

  37. 10 Användargränssnittet • Arbeta med Drag-and-Drop • Mellan kontroller - samma som mellan applikationer • Ungefär samma koncept som i Visual Basic 6.0 • Inget support för automatisk drag-and-drop • AllowDrop = True • Alla händelser utom DragLeave får DragEventArgs: • AllowedEffect • Data • Effect • KeyState och X,Y

  38. 11 Komponenter • Ofta relativt enkla att uppgradera • Rena klasser utan användargränssnitt • Redan delvis objektorienterade • Fundera på ny arkitektur • WebServices alternativt .NET Remoting • Använda Dataset, XML • Fungerar även mot VB6 • COM interop

  39. Kontrollskott! • Try... Catch... ???... End Try • Går det att skapa en event-hanterare i runtime? • Nämn tre verktyg för uppgradering av kod!

  40. Tips och Tricks! • Förbered VB 6 kod för uppgradering: • Använd inte: • Default-egenskaper • ”Late Binding” • Varianter • Använd ”Code Advisor”! • Använder du ActiveX kontroller? • Kontrollera med leverantör om .NET versioner finns tillgänliga!

  41. Agenda • Visual Studio .NET • Utvecklingsmiljön • Uppgradera till Visual Basic .NET • Att uppgradera • Verktyg • Windowsformulär och komponenter • ADO/XML • Webblösningar • Win32 API • Utrullning och installation

  42. ADO till ADO.NET • Vad är ADO? • ActiveX Data Objects • COM baserat • Många olika data källor • Både kopplad och frånkopplat • Begränsat stöd för XML • Fungerar fortfarande i Visual Basic.NET! • Färdiga ”COM” wrappers för ADO

  43. ADO.NET ADO.NET Konsumenter Data Providers Windowsformulär DataAdapter DataSet Webbformulär Connection Command Övriga DataReader

  44. ADO.NET Scenarios • Kopplat • Connection, command, data reader • Mellan lager • Data adapter • Urkopplat • DataSet, DataTable, DataView, and others

  45. 12 ADO till ADO.NET • Connection objektet • Väldigt likt ADO Connection objekt • Command • Väldigt likt ADO Command objekt • Data reader • Framåt, endast-läsing recordset • Data adapter • Ingen motsvarighet i ADO • DataSet • Representation i minnet av en databas

  46. 13 MSXML till .NET XML • Microsoft XML Core Services • MSXML 4.0 Service Pack 2 • COM Objekt • I princip samma DOM objekt modell • Fast lite annorlunda klassnamn • System.XML namnrymden • MSXML ServerXMLHTTP/XMLHTTP • http post/get för ”hand” • Använd HttpWebRequest, HttpWebResponse • Använd Webservice i stället

  47. Utmaningar med klassisk ASP • Läsbarhet av kod, mycket kod! • Komplex “PostBack”-hantering • Återanvändning • Prestanda • Låsning av DLL’er • Utrullning • Sessioner • Cachning

  48. Nyheter i ASP .NET • Ny arkitektur • .NET Framework • Web Forms, serverkontroller, Web Services • Tillförlitlighet • Konfigurering • Tillståndshantering • Säkerhet • Cachning

  49. Begäran Svar 6 1 7 9 8 2 5 3 4 Arkitekturen i ASP.NET ASP.NET HTTP Runtime Moduler Sidhanterare ”Page Handlers” ASPXmotor Instans ”Page” ASP.NET sida Klass ”Page”

  50. WebForms • Filändelsen är .ASPX • Nytt ”Page” direktiv • WebForm är en objektmodell • Händelsestyrt • Exekveras både på klient och server <%@ Page Language="vb" Inherits=”klass"%> <form id="Form1" method="post" runat="server"> <asp:Button id="Button1" runat="server“ Text=“Tryck“/> </form>

More Related