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

Archief van 'Windows'

Andre Mussche

AsmProfiler

Na weer een leuke, gezellige en interresante DDD ben ik gelijk maar aan de slag gegaan om kort een uitleg te geven mbt mijn praatje over mijn profiler: AsmProfiler.

Ontstaan

AsmProfiler is ontstaan naar aanleiding van mijn ontevredenheid over de profilers die ik gebruikt heb. Ik wilde oa meer details zien, en het moest makkelijk en snel in gebruik zijn. Via een oud-collega (Thaddy, nog bedankt!) kwam ik in aanraking met “detouring”. Hiermee kon ik echter nog niet direct een profiler mee maken. Daarvoor heb ik zelf dmv assembly wat meer werk moeten doen. Dit gelukkig gelukt: mijn “proof of concept” werkte!


Lees verder…

Andre Mussche

De vorige keer heb ik een aantal Delphi productiviteit tips gegevens. Daarmee kun je een stuk sneller mee programmeren, maar je programma zelf wordt er niet sneller door. Dit keer een aantal snelheids tips over standaard Delphi objecten en componenten.

TStrings
De basisklasse TStrings wordt in Delphi heel veel gebruikt: TMemo, TSqlQuery, etc. Als je hier veel mee werkt, kun je veel snelheidwinst halen door de volgende tips:


Lees verder…

Andre Mussche

Een uitgebreid (!) verslag van een uit de hand gelopen experiment :-) voor het gebruiken van een issue tracking systeem.

Het bedrijf
Ik ben nu dik 2,5 jaar bij hetzelfde bedrijf gedetacheerd, en in die tijd is het bedrijf (ondanks of dankzij :-) ) flink gegroeid. Momenteel zitten we met 50 man in het nieuwe pand omdat het oude veel te klein werd. Niet alleen het bedrijf groeide, ook de projecten zelf groeiden (groter, ingewikkelder, etc).


Lees verder…

Andre Mussche

In Delphi geeft de functie “Now” de lokale tijd terug. Dit is dus de gecorrigeerde tijd ten opzicht van de GMT of UTC tijd. Oftewel: de lokale tijd is de tijd rechtsonderin op de taakbalk.
Deze tijd is onderhevig aan zomer/winter tijd aanpassingen, wat al dan niet automatisch door Windows wordt aangepast…


Lees verder…

Andre Mussche

In een eerder artikel heb ik uitgelegd hoe je zelf een stack dump kunt maken. Dit vooral bruikbaar bij exceptions, en soms ook voor het debuggen van een bepaalde situatie (“hoe komt hij hier?”).
Maar hoe kun je de stack bekijken als je programma vastloopt? In Delphi kun je het programma pauzeren en de stack bekijken, maar wat als het net buiten Delphi of op een (andere) server draait?


Lees verder…

Andre Mussche

In mijn vorige artikel schreef ik hoe je een “stack trace” kunt maken. Maar soms is dat niet genoeg. Je krijgt bijvoorbeeld een ongrijpbare “Catastrophic failure” of de stack trace geeft niet precies de echte exceptie weer. Dit komt omdat een stack trace niet goed werkt als deze in een try..except (of try..catch in C) afgevangen wordt. Als je namelijk onderstaande code probeert:


Lees verder…

Andre Mussche

Je kent het wel, je bent zelf je code aan het testen op een andere pc of door gebruikers c.q. testers,
en je krijgt allerlei ongrijpbare “acces violations”, ontraceerbare “index out of bounds” etc.
Normaal kun je in Delphi deze fouten debuggen, onder andere met de “stack view”, maar die heb
je niet op het test systeem staan.


Lees verder…

Andre Mussche

Total Commander is het meest gebruikte Windows programma door mij (naast Delphi en Firefox :-) .
Het is typisch zo’n programma waarvan je moet houden: je vind het super of je vindt het niets.

Total Commandor is een bestandsbeheer programma, als vervanger voor Windows Verkenner.
Het is een cloon van uit het dos tijdperk bekende Norton Commander. Het belangrijkste kenmerk is
de dubbele weergave van directories (naast elkaar). Dit heeft grote voordelen, omdat je zo eenvoudig bestanden kunt kopieren van de ene directory naar de andere. Of de bestanden vergelijken, een selectie maken en deze inpakken, etc. Zip bestanden kunnen net als directories bekeken en genavigeerd worden. Op dezelfde manier kan ook via de ingebouwde FTP client bestanden geup- en download worden.


Lees verder…