Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2011, 20:12   #11
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

да, точно. это скорее всего и есть причина проблем.
получаю длину строки так
Код:
  FileList := (FileList + #0#0);
  iLen := length(FileList) * StringElementSize(FileList);
но результат тот же, как ещё можно получить размер юникод-строки?
art-programs вне форума Ответить с цитированием
Старый 26.09.2011, 11:02   #12
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

всё, проблема решена
GunSmoker, спасибо, вернули на путь истинный
кому нужно, собсна код:
Код:
  iLen := Length(FileList);
  hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT, 
SizeOf(TDropFiles) + ((iLen + 2) * SizeOf(Char)));
  if (hGlobal = 0) then raise Exception.Create('Не удалось выделить память.');
  try
    DropFiles := GlobalLock(hGlobal);
    if (DropFiles = nil) then 
       raise Exception.Create('Не удалось получить доступ к выделенной памяти.');
    try
      DropFiles^.pFiles := SizeOf(TDropFiles);
      DropFiles^.fWide := True;
      if FileList <> '' then
        Move(FileList[1], (PByte(DropFiles) + SizeOf(TDropFiles))^, iLen * SizeOf(Char));
    finally
      GlobalUnlock(hGlobal);
    end;
    Clipboard.SetAsHandle(CF_HDROP, hGlobal);
  except
    GlobalFree(hGlobal);
  end;
art-programs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование в буфер обмена motorway JavaScript, Ajax 1 10.04.2011 07:36
Копирование данных из поля в буфер обмена по нажатию кнопки? iliana Microsoft Office Access 7 30.12.2010 11:38
Копирование данных в буфер обмена? ArcticBear Общие вопросы .NET 4 27.11.2009 14:27
Копирование в буфер обмена Xanex Общие вопросы Delphi 5 18.05.2009 23:13
Копирование структуры в буфер обмена bill Общие вопросы Delphi 14 20.11.2007 17:22