Donald, quizas deberias cambiar esta linea:
por esta otra.
Código Delphi
[-]ds := TCLientDataset.create(self);
de esta manera estas instanciando la clase dentro de un objeto, en el ejemplo anterior lo asignas como perteneciente a esa clase, pero nunca se inicializa.