SRL Archive - Research & Development Lounge

FreeDTM error


injustice

2012-03-31 10:49:52

I have this error with freeing my DTMS and I do not know how to fix it:

(*********************************************************************
function LoadDTMS;
description: Loads the DTM of the selected log
author: Injustice
*********************************************************************)

function LoadDTMS : Integer;
var
LogDTM : Integer;
begin
case LowerCase(LogType) of

'normal':
LogDTM:= DTMFromString('mggAAAHicY2NgYHBiYmBwBGJfIPYGYjsgNgPiJ0C520D8AIjfAPFHKDvARhlIMmLB2AE2lQjVAOGOB7g=');

'oak':
LogDTM:= DTMFromString('mggAAAHicY2NgYMhkYmAoAOJqIM4B4lggTgXix0C5m0D8AojfA/EbIL4DxK0pVkCSEQvGDrCpRKgGAHLDCR4=');

'willow':
LogDTM:= DTMFromString('mlwAAAHicY2dgYHBgYmDwBuJAKG0DxMZAbAXET4DyN4D4KRC/AeKPUPYdILa3EAaSjDgwboBLB5IuANF1CLw=');

'maple':
LogDTM:= DTMFromString('mggAAAHicY2NgYHBmYmDwAWJPILYGYjMgdgDix0C5m0D8Fog/AvF9IL4DxJFW3ECSEQvGDrCpRKgGANgUB5o=');

'yew':
LogDTM:= DTMFromString('mggAAAHicY2NgYHBhYmDwBGJfIHYHYksgNgPiR0C5GwwQ+i0Qvwfih0DsacoJJBmxYOwAm0qEagDVQQeO');


end;
end;




(***********************************************************************
procedure FreeTheDTMs;
description: Frees the DTM of log chosen
***********************************************************************)

procedure FreeTheDTMS;
begin
FreeDTM(LogDTM); //Line 650
end;

The error:

[Error] (651:11): Unknown identifier 'LogDTM' at line 650
Compiling failed.

Any help?

Frement

2012-03-31 11:42:37

Your loading function doesn't return anything, so you need to do LogDTM := LoadDTMS;

And have LogDTM as a global variable.

injustice

2012-03-31 11:57:39

From: Frement
Your loading function doesn't return anything, so you need to do LogDTM := LoadDTMS;

And have LogDTM as a global variable.


So I've changed it to this:


function LoadDTMS : Integer;
begin
case LowerCase(LogType) of

'normal': then //Line 610
LogDTM:= DTMFromString('mggAAAHicY2NgYHBiYmBwBGJfIPYGYjsgNgPiJ0C520D8AIjfAPFHKDvARhlIMmLB2AE2lQjVAOGOB7g=');

'oak': then
LogDTM:= DTMFromString('mggAAAHicY2NgYMhkYmAoAOJqIM4B4lggTgXix0C5m0D8AojfA/EbIL4DxK0pVkCSEQvGDrCpRKgGAHLDCR4=');

'willow': then
LogDTM:= DTMFromString('mlwAAAHicY2dgYHBgYmDwBuJAKG0DxMZAbAXET4DyN4D4KRC/AeKPUPYdILa3EAaSjDgwboBLB5IuANF1CLw=');

'maple': then
LogDTM:= DTMFromString('mggAAAHicY2NgYHBmYmDwAWJPILYGYjMgdgDix0C5m0D8Fog/AvF9IL4DxJFW3ECSEQvGDrCpRKgGANgUB5o=');

'yew': then
LogDTM:= DTMFromString('mggAAAHicY2NgYHBhYmDwBGJfIHYHYksgNgPiR0C5GwwQ+i0Qvwfih0DsacoJJBmxYOwAm0qEagDVQQeO');

'magic': then
LogDTM:= DTMFromString('');


end;
end;

And now this is the error:


[Error] (611:15): Identifier expected at line 610
Compiling failed.

Frement

2012-03-31 12:00:45

Why did you add the "then" after each case?

injustice

2012-03-31 12:13:12

From: Frement
Why did you add the "then" after each case?

Oh yeah, just realised that. I was experimenting if it would work with an if…then statement :/