Archief - [PROG]C#.NET timer classe heeft geen Elapsed ?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

SideShow

Legacy Member
Hallo

Ik heb het volgend stukje code:

timer = new System.Windows.Forms.Timer();
timer.Enabled = true;
timer.Interval = 2000;
timer.Elapsed += new ElapsedEventHandler(mijEvent);


Ik wil dus gewoon een eventhandler maken die elke 2 seconden uitgevoerd wordt; ik doe het zoals tal van websites me tonen, namelijk met timer.Elapsed ... maar ik krijg volgende melding:

'System.Windows.Forms.Timer' does not contain a definition for 'Elapsed' (CS0117)

Ik gebruik SharpDevelop als ontwikkel tool.

:help:

VenomGameworld

Legacy Member
probeer eens:

timer.Tick += new System.EventHandler(mijEvent);

SideShow

Legacy Member
Dank :)

Misschien hier nog een extra vraagje stellen. Waar kan ik terecht voor tips en dergelijke ivm .NET toepassingen zo klein mogelijk houden? Ik heb hier nu iets gemaakt die adhv die timer mn gebruikte ram geheugen weergeeft met een trayicon ... Het gecompileerde progje is 16KB, maar draaiende neemt het 16MB in beslag :(

Tyfius

Legacy Member
Ik ben daar geen expert rond, maar volgens mij telt die het .NET framework mee bij je applicatie, of wat die nodig heeft.

Kiddy

Legacy Member
Het voordeel aan .net applicaties is dat je geen geheugenbeheer moet doen, want de garbagecollection doet dit voor je. Het nadeel is dat .net applicaties meestal meer geheugen in beslag nemen dan bv een c++ programma.

Je kan wel forceren dat jij kiest wanneer er aan garbagecollection wordt gedaan, maar zo heel veel verschil geeft dit toch niet.

SideShow

Legacy Member
Mja idd

Ik heb iets in mn code die elke seconde een clone maakt van een vorig object.
Dit kan je ook mooi zien in taskmanager; er komt iedere seconde 4kilobyte bij.
Het zou moeten zijn dat hij de vorige clone eerst vrijgeeft in het geheugen en dan pas een nieuwe clone aanmaakt...

de dispose functie maakt geen verschil uit

Mn progje gaat telkens van ongeveer 12MB ramverbruik naar 19MB en dropt dan terug naar 12 ... blijkbaar ruimt .Net inderdaad maar om de zoveel tijd op ... hoe doe ik dat direct eigenlijk? Ik vind het neit echt op google. Men spreekt wel van dispose en garbage collection maar het maakt niet echt iets uit, het geheugen lek blijft lekken
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan