You can assume here that texture is not loaded now, UsedCache, FTextureImage, FTextureDDS are all nil. Try to load the texture data, making OnWarning as appropriate, and set all UsedCache, FTextureImage, FTextureDDS, FAlphaChannelData.
When loading, we will try to set TextureImage and TextureDDS. If loading is successfull, TextureImage will be always set to non-nil (TextureDDS will be set to non-nil only if image came from some DDS image). If loading failed, both TextureImage and TextureDDS will be Nil.
Note that even when loading failed (TextureImage remained Nil), TextureLoaded value still changes to True. This is good — it makes assignment TextureLoaded := true always work, and (more important) it prevents trying to load (and displaying uselessly the same OnWarning) again at successful TextureLoaded := true.
In case of problems (for example when some URL cannot be loaded), we will make OnWarning.