Question

I have a Delphi application which displays an image using a TImage.

The location of the image is stored in a database and retrieved on load and set directly using code similar to below:

Image1.Picture.LoadFromFile(Query1.FieldByName('image').AsString);

I want to be able to display and edit the Filename being loaded during the above, am I right that there is no way to access that directly from the TImage component and that I will need to store the filename separately?

Was it helpful?

Solution

No, there isn't. You can store it yourself, though.

var
  ImageFileName: string;


begin
  ImageFileName := Query1.FieldByName('image').AsString;
  Image1.Picture.LoadFromFile(ImageFileName);
end;

Declare the ImageFileName variable at a place where it will be visible everywhere you need access to the file name.

OTHER TIPS

You can store the filename in the Hint property of Image1.

if you don't already use it. As intended or for another purpouse... I find this property pretty promiscuous :)

You can store the filename in the TagString property of Image1.

if you don't already use it.

(in Firemonkey, not VCL)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top