Nigel,
Thanks. You got me started.
Here is how I am using this:
type
TMyRecord = record
MyWidth, MyHeight: integer;
MyX, MyY: Integer;
MyRotation: Double;
MyFileName: String[255];
end;
var
PMyRecord: ^TMyRecord;
begin
New(PMyRecord);
PMyRecord^.myWidth := iImgWidth;
PMyRecord^.myHeight := iImgHeight;
PMyRecord^.MyX := 0;
PMyRecord^.MyY := 0;
PMyRecord^.MyRotation := 0;
PMyRecord^.MyFileName := ''; //Layer 0 has not file attached to it
ievMain.Layers[0].UserData := PMyRecord;
ievMain.Layers[0].UserDataLen := SizeOf(PMyRecord);
end;
But now I am facing another problem.
In the file in question there can be n number of layers. Again this is not fixed as to now many layers there will be. So in this case how can I store unique User Data for each layer?
If I use the above code repeatedly for each layer then I think the information will get replaced for all layers User Data.
Finally how do I read back this data?
This code in is not working...
procedure TfrmMain.ievMainLayerNotify(Sender: TObject; layer: Integer;
event: TIELayerEvent);
type
TMyRecord = record
MyWidth, MyHeight: integer;
MyX, MyY: Integer;
MyRotation: Double;
MyFileName: String[255];
end;
var
PMyRecord: ^TMyRecord;
begin
New(PMyRecord);
ievMain.Layers[layer].UserData := PMyRecord;
ievMain.Layers[layer].UserDataLen := SizeOf(PMyRecord);
ShowMessage(PMyRecord^.MyFileName);
end;
TIA
Yogi Yang