Ressourcenleck

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu CodeGuard-Fehler - Index

Der Fehler Ressourcenleck tritt auf, wenn eine Ressource, wie z.B. der Arbeitsspeicher, zugewiesen, aber nie freigegeben wird. Für die meisten Objekte in der VCL wird die Freigabe automatisch durchgeführt, Ressourcenleck-Fehler treten daher hauptsächlich auf, wenn Sie einen benutzerdefinierten Speicherbereich zuweisen oder ein benutzerdefiniertes Objekt dynamisch erstellen. Das folgende Codebeispiel zeigt eine Objekterstellung, bei der der Arbeitsspeicher nicht freigegeben wird.

#include <tchar.h>
#pragma hdrstop
#include<stdio.h>
#include<dir.h>
#include <tchar.h>
#pragma hdrstop
class someclass{
	int fnumber;
  public:
	int getnumber(){return fnumber;}
	void setnumber(int nw){fnumber = nw;}
	int doublev(int val){return val*2;}
	int publicalval;

};




void myf()
{
	someclass *myc = new someclass(); // error
}

int _tmain(int argc, _TCHAR* argv[])
{
	myf();
	return 0;
}