> Would someone be so kind as to show me an example of using dynamic > arrays of an object, creating new objects on the fly in code and > disposing of them when they're no longer needed. Use of this would be in > a irc services program I'm porting to linux from delphi (windows), ie: > new nick joins server, create new object respresenting that nick...
To be honest, I would advise using a TList. This will do all the donley work for you, and even has a nice method 'pack' that will remove dead pointers for you. It doesn't sound like you need uber speed or anything, so even though the TList does add a slight performance hit over a dynamic array, the pro's outweigh the cons. All you would do is something like this, (TMYCLASSTYPE would be replaced with yout TObject descendent): TWrapList = class private FList: TList; protected procedure SetListValue(Value: TMYCLASSTYPE); virtual; function GetListValue(const Index: integer): TMYCLASSTYPE; virtual; public property ListValues[index: integer]: TMYCLASSTYPE read GetListValue write SetListValue; constructor Create; virtual; destructor Destroy; override; function Count: integer; procedure Add(Item: TMYCLASSTYPE); procedure Delete(Index: Integer); end; constructor TWrapList.Create; begin FList := TList.Create; end; destructor TWrapList.Destroy; begin // NB: remember remove any items left in list.... FList.free; inherited; end; procedure TWrapList.SetListValue(Value: TMYCLASSTYPE); begin // NB. range checking will be usefull FList[index] := Value; end; function TWrapList.GetListValue(const Index: integer): TMYCLASSTYPE; begin Result := TMYCLASSTYPE( FList[index] ); end; function TWrapList.Count: integer; begin Result := FList.Count; end; procedure TWrapList.Add(Item: TMYCLASSTYPE); begin FList.Add(Item); //if you make this a finction you can //return the index here end; procedure TWrapList.Delete(Index: Integer); begin FList.Delete(Index); end; This is a pattern I use all the time. It works well. Matt --------------------------------------------- This message was sent using Mistral WebMail. http://www.mistral.co.uk/ _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal