1 / 24

GuideOnLine Framework

GuideOnLine Framework. B.V. Electronic Østerbro 5 7800 Skive +45 97 52 50 22 www.bve.dk. System Requirements. .Net Framework 4.0 Microsoft SQL Server 2008 R2* Microsoft Visual Studio 2010 GuideOnLine VB or C# Project Templates VB or C# Item Templates

hans
Download Presentation

GuideOnLine Framework

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. GuideOnLineFramework B.V. Electronic Østerbro 5 7800 Skive +45 97 52 50 22 www.bve.dk

  2. System Requirements • .Net Framework 4.0 • Microsoft SQL Server 2008 R2* • Microsoft Visual Studio 2010 • GuideOnLine • VB or C# Project Templates • VB or C# Item Templates *GO Core and somepluginscan run without a database

  3. Project Templates • Kopier mapperne: \Templates\ProjectTemplates\Visual C#\GOLF til \Documents\VisualStudio 2010\Templates\ProjectTemplates\Visual C#. Kopier mappen \Templates\ProjectTemplates\VisualBasic\GOLF til \Documents\VisualStudio 2010\Templates\ProjectTemplates\Visual Basic

  4. Item Templates • Kopier mapperne: \ItemTemplates\Visual C#\GOLF til \Documents\VisualStudio 2010\Templates\ItemTemplates\Visual C# \ItemTemplates\VisualBasic\GOLF til \Documents\VisualStudio 2010\Templates\ItemTemplates\Visual Basic

  5. New C# Project

  6. New Visual Basic Project

  7. New Project • Opretter nyt projekt • Tilføjer .Plugin til assemblyname • Sætter Assembly Version til 4.0.* • Tilføjer referencer til • GO.Core.dll • GO.Forms.dll • GO.Shared.dll • GO.Windows.dll • Opretter Post-build event, der kopierer assembly til C:\Program Files\B.V. Electronic\GuideOnLine4.0\

  8. New Plugin Plugins er en erstatning for kodeforløbet: 1. Instantier typen ved at kalde vilkårlig constructor. 2. Typen specificeres i kode. 3. Instantieringsrækkefølgen af forskelllige typer bestemmes i kode. 4. Brug instansen. 5. Når ingen længere har reference til instansen -> GC. I stedet opnås følgende kodeforløb: 1. Instantier alle typer ved at kalde default constructor. 2. Typerne og instantieringsrækkefølgen specificeres i database. 3. Sæt InstanceID. 4. Kald Initalize() metoden. 5. Brug instansen. 6. Kald Terminate() metoden. 7. Når ingen længere har reference til instansen -> GC.

  9. New Plugin Plugins er typer, der implementerer IPlugin: publicinterfaceIPlugin { stringInstanceID { set; get; } void Initialize(PluginInitializeEventArgs e); void Terminate(PluginTerminateEventArgs e); }

  10. New Plugin • PluginControlBase System.Windows.Forms.UserControlForms • PluginFormBase System.Windows.Forms.Form • PluginNamedBaseClass Class • PluginUserControlBase (WPF) UserControl WPF System.Windows.UserControl • PluginWindowBase (WPF) Window (WPF) System.Windows.Windows.Window

  11. New Plugin

  12. C#

  13. VB

  14. Debug • Vælg Start external program og peg på C:\Program Files\B.V. Electronic\GuideOnLine4.0\GO.Main.Windows.exe • Tilføj –ignoreupdates under Command Line Arguments • Vælg Start Debugging • Tilføj pluginunder Management

  15. Debug

  16. Opgave • Opret en ny plugin og start den i GuideOnLine.

  17. C# PluginProperties

  18. VB PluginProperties

  19. PluginProperties

  20. Opgave • Opret en property og sæt værdien i GuideOnLine. • Vis værdien, når pluginen starter op.

  21. Services Services skal registrere sig selv i en singleton klasse, der implementerer IServiceManager: publicinterfaceIServiceManager { eventEventHandler<ServiceAddedEventArgs> ServiceAdded; eventEventHandler<ServiceRemovedEventArgs> ServiceRemoved; void Add(stringinstanceID, stringdisplayName, stringdescr, INamedObjectservice); void Remove(INamedObject service); objectGetService(stringinstanceID); objectGetService(Serviceservice); INamedObject[] GetServices(); } Som det ses af IServiceManager, så er det eneste der kræves af en type for at være en service, at den implementerer INamedObject: publicinterfaceINamedObject { stringInstanceID { get; set; } string Description { get; set; } stringDisplayName { get; set; } } INamedObject er meget simpel at implementere. Man kan dog i stedet lade sin type arve fra NamedObjectBase, som i følgende eksempel: MyService : NamedObjectBase { voidDoSomething() {} } // Create service varservice = new MyService(); // Register service serviceManager.Add("Test.MyService", "Min Service", "Min danske beskrivelse", service); // Use service varuse = (MyService)serviceManager.GetService("Test.MyService"); use.DoSomething();

  22. Consumers Consumers kan vælge selv at hente deres services fra IServiceManager, som vist i forrige eksempel. Ofte vil man dog vælge, at lade consumer typen arve fra ServiceBase, der implementer de mest gængse services: IServiceManagerServiceManager; DatabaseDatabase; IActivationOptionsActivationOptions; IEnvironment Environment; IDirectory Directory; ILogErrorLog; ILogInfoLog; ILogEventLog; IDatabaseDictionary Dictionary; IAccessManagerAccessManager; ILogOnManagerLogonManager; Eksempel: MyConsumer : ServiceBase { voidDoSomething() { // Use inherited service ErrorLog.WriteLine(“Hello world”); } } Det er vigtigt, ikke at cache services i MyConsumer, da en eventuel ny service kan blive registreret.

  23. Data binding i WPF • DataItems kan bruges sammen med data binding i WPF. • Mulighed for at læse og skrive data uden at have underliggende kode.

  24. Services • LogListener ILogListener (GO.Logging) • DataServer IDataServer (GO) • DataSubscription DataSubscription (GO.DataServices) • MessageConnection IMessageConnection (GO.MessageHandler) • Printer PrinterBase (GO.PrintHandler) • Activity (Workflow) ServiceCodeActivity (GO)

More Related