Welkom op het developersblog van 4DotNet
Op dit developersblog zullen onze eigen ontwikkelaars hun praktijkervaringen en andere inseressante onderwerpen plaatsen.

Archief van 'Code'

Silverlight is sinds de introductie in 2005 / 2006 aan een geweldige opmars bezig. Was de eerste versie (1.0), een door Microsoft te snel gepushte versie, welke alleen bestond uit XAML met als framework Javascript, tegenwoordig met Framework 4.0 en de introductie van RIA services is het zelfs een platform geworden waarin de nodige business applicaties geschreven worden.

De insteek van Silverlight vanuit Microsoft is geweest om als tegenhanger van Adobe Flash / Flex te fungeren. Voor .Net ontwikkelaars is het een eenvoudige stap om vanuit de ervaring met bijvoorbeeld Web of Forms, een overstap te maken naar WPF / Silverlight. Het enige verschil is dat de “voorkant” in Silverlight uit XAML bestaat.
Lees verder…

15 t/m 17 maart jl. was de MIX10 conferentie voor (web)ontwikkelaars in Las Vegas.

Tip voor degenen die niet zijn geweest:

de sessies zijn online te bekijken op http://live.visitmix.com/Sessions.

Rene Kapitein

e-Mail sturen vanuit SQL Server 2005

Systeem Integratie is een fascinerende tak van de automatisering. Wat ooit begon als losstaande eilandjes kan op een mooie dag zomaar met elkaar verbonden worden. Nou ja, zomaar: ons werk heet dan wel automatisering maar dat betekent natuurlijk niet dat alles zomaar vanzelf gaat. Jaren geleden heb ik een Meldingensysteem gemaakt waarmee je fouten en wensen in applicaties kunt registreren. Hierbij kun je een prioriteit en een streefdatum invullen en ook bijhouden welke aanpassingen je hebt gedaan bij een melding. Als je daarbij ook releases bijhoudt, is het bovendien een prima basis voor releasenotes.

De mensen die mijn blog een beetje gevolgd hebben, weten dat ik recent bezig ben geweest met de applicatie Remember The Milk (RTM) : een tot do lijst waarbij je online taken kunt beheren. Sinds kort heb ik op eenvoudige wijze een koppeling gemaakt tussen deze twee applicaties. Het idee is dat er vanuit de database van het meldingensysteem een e-mail wordt gestuurd naar mijn geheime RTM e-mail adres, voorzien van relevante tags. Iedereen die zich aanmeldt bij RTM krijgt een ‘geheim’ e-mail adres. Wanneer je een bericht stuurt naar dit e-mail adres, wordt hiervan een taak voor je aangemaakt. Door in deze mail speciale codes op te nemen, kun je direct bepaalde kenmerken meegeven, zoals een categorie of een duedate.


Lees verder…

Rob Brommer

 Als je gaat beginnen met Linq to SQL binneneen drie lagen architectuur wil je Linq beperken tot de data access laag zoals voorgeschreven in een 3-Tier applicatie. Ik heb daarom in de DL Layer een DA class gemaakt waarin ik static functies plaats met daarin de linq queries en insert, update en delete logica.
Lees verder…

Andre Mussche

Als je een applicatie maakt dat moet draaien via een WLAN (Wifi), pas dan even op en lees het onderstaande door:

Windows laadt namelijk niet de gehele executable in het geheugen, maar alleen wat hij op dat moment nodig heeft. Als je bijv. op een knop in je applicatie drukt, dan *kan* Windows een nieuw blok bitjes van je applicatie via het netwerk moeten ophalen (of voor een resource (bijv. een icon) bij een nieuw scherm dat je aanmaakt, etc).
Echter, als je via een WLAN werkt, dan kan natuurlijk net je verbinding weg zijn…
Wat er dan gebeurt? Een “External exception C0000006″ :-(
Oplossing? Je moet een flag in je exe zetten, die aangeeft dat je vanaf een removeable medium werkt (USB, Wifi, etc) zodat Windows wel alles inlaadt. In Delphi kun je dit in de .dpr doen:
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}

Dit heeft bij mijn huidige klant nogal voor wat hoofdbrekens gezorgd: we kregen deze exceptions op de meest vreemde plaatsen, zonder aanwijsbare bug in de code. Na wat googlen was de oorzaak gauw gevonden en de fix snel gemaakt :-) Zie originele discussie + oplossing:
Rene Kapitein

Als Pasen op een vrijdag valt

Nee het is geen typefout: er staat echt Pasen in de titel en geen Kerst! Het is een beetje een dooddoener; een antwoord dat je bijvoorbeeld kunt geven als je kinderen vragen wanneer we naar Disneyland gaan… “Als Pasen en Pinksteren op dezelfde dag vallen”, zeg je dan, of “Als Pasen op een vrijdag valt”. Dit jaar valt eerste Kerstdag echter wel op een vrijdag. Er zijn vast veel mensen die het jammer vinden dat ze dit jaar op tweede Kerstdag geen extra vrije dag hebben. Het is nu eenmaal een vaststaand feit dat we ieder jaar op 25 en 26 december Kerst vieren. De datum waarop het Paasfeest gevierd wordt, is minder makkelijk te achterhalen.
Lees verder…

jQuery

Momenteel werk ik aan een ASP.NET MVC 1.0 applicatie. In een ASP.NET MVC applicatie werkt je niet meer met postbacks. Daardoor werken de standaard servercontrols ook niet meer (runat=”server” is verdwenen). Eigenlijk is het een soort back to the basics, want het komt er in het kort op neer dat je met plain html aan de slag moet. Voor buttons gebruik je gewoon weer de <input  type=”submit|button”/> etc. Je hebt dus weer de volledige controle over de html die gerenderd wordt  in de browser. Dat biedt weer mogelijkheden om met javascript aan de slag te gaan.  Een library die hierbij erg handig kan zijn is jquery. Jquery is een javascript library dat de webprogrammeur de volledige beheersing over de html geeft.
Lees verder…

Rene Kapitein

Heeft DTS de X-factor?

Bij DTS zullen de meeste lezers aan het volgende bedrijf denken: DTS Meppel. Dat is natuurlijk prima, niets mis mee. Ik vermoed echter dat er ook lezers zijn die de afkorting DTS kennen vanuit SQL Server. DTS staat dan voor Data Transformation Services.  Over die DTS gaat het hier. In de Enterprice Manager van SQL Server 2000 heb je de mogelijkheid om een DTS package te maken.  Vanaf SQL Server 2005 is DTS in mijn ogen volwassener geworden.  De DTS functionaliteit zit echter wel een beetje verstopt en is verweven met Visual Studio. Deze integratie kom je ook tegen in de naamgeving SSIS (SQL Server Integration Service).  Onder deze afkorting kun je op Internet meer voorbeelden vinden.

Een probleem waar jullie natuurlijk zelf nooit tegenaan lopen maar andere ontwikkelaars wel, is dat het soms lastig is om een oude applicatie die je ooit hebt geschreven na een paar maanden / jaren nog te begrijpen. Om nog maar te zwijgen over de ellende die je tegenkomt wanneer je hele lappen code van een collega moet bestuderen.  Met DTS heb je de mogelijkheid om op een gestructureerde manier een proces samen te stellen.  In plaats van een hele brij code is het meer een kwestie van componenten bij elkaar slepen en hierbij de juiste properties in te stellen.

Ok, tijd voor een voorbeeld:


Lees verder…

Rene Kapitein

Registry File

De laatste tijd ben ik weer regelmatig bezig met het maken van kleine aanpassingen in bestaande Visual Basic 6 applicaties. Ik heb daarbij vaak heel veel vensters met code geopend. CTRL + F4 dan maar om alles af te sluiten. Het is daarbij vervelend dat je in VB6 niet bij de instellingen kunt opgeven dat je het venster met code maximaal wilt vergroten. Het schijnt dat VB5 deze optie nog wel had.

Niet voor één gat te vangen, vond ik de registry instelling waarmee je deze vergeten optie zelf kunt instellen. Ik dacht dit even snel te doen met uitvoeren –> regedit.


Lees verder…

Laat ik beginnen om mezelf even voor te stellen. Mijn naam is Peter van Ooijen en ik ben software ontwikkelaar en bij deze nu ook blogger op 4dotnet. Sommigen van jullie kennen mij misschien van mijn weblog op Codebetter. Of misschien nog van vroegere artikelen in het SDN magazine. Ik heb dus al een weblog. Een daar blijf ik ook schrijven. Waarom begin ik er hier dan nog ééntje ? En waarom hier bij 4dotnet ? Daar zijn verschillende redenen voor.
Lees verder…