var
Url: string;
Response: TVkPhotoUploadResponse;
Photos: TVkPhotos;
i: Integer;
begin
//Запрос адреса сервера
if VK.Photos.GetMessagesUploadServer(Url, PeerId) then
begin
//Отправка фото по адресу через Post
if VK.Uploader.UploadPhotos(Url, FileName, Response) then
begin
//Сохранение фото и получение объекта фотографии
VK.Photos.SaveMessagesPhoto(Response, Photos);
//Здесь уже создаем строку для прикрепления в сообщение или пост
FileName := CreateAttachment('photo', Photos[0].OwnerId, Photos[0].Id, Photos[0].AccessKey);
for i := Low(Photos) to High(Photos) do
Photos[i].Free;
//Отправляем сообщение
Vk.Messages.
Send.
PeerId(PeerId).
Attachemt([FileName]).
Send.Free;
Response.Free;
end;
end;