delphitimage

Can I retrieve Filename for TPicture directly?


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?


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.