Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IStorage.CreateStream, ограничение на длинну имени 
:(
    Опции темы
Rennigth
Дата 11.3.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: нет
Всего: 76



создаю Storage и в нем мне нужно создавать елементы с GUIDым названием, и возникла проблема в том что есть ограничение на длинну имени елементов в 31 символ. (GUID даже если убрать скобки и тире 32 знака).

Код

var
  lGUID: string;
  lstr: array [0..63] of WideChar;
  lStream:  IStream;
begin
//...  
  lGUID := '{24991513-DC46-4FCC-8CE2-46D9C963A2B6}';
  StringToWideChar(lGUID, @lstr, 64);
  //lstr если 31 символ то все ок если больше то :( 
  Storage.CreateStream(@lstr, STGM_CREATE + STGM_DIRECT + STGM_READWRITE + STGM_SHARE_EXCLUSIVE, 0,  0, lStream);

//lStream = nil; <- :(
//...
end;


может есть какой способ увеличить макс длинну, 31 на самом деле же мало.




--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Fantasist
Дата 12.3.2005, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Подожди, где это ты ограничение такое нашел?



--------------------
Волны гасят ветер...
PM MAIL   Вверх
Rennigth
Дата 15.3.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: нет
Всего: 76



Цитата

  Подожди, где это ты ограничение такое нашел?


из MSDN
Цитата

pwcsName
[in] A pointer to a wide character null-terminated Unicode string that contains the name of the stream to open. The 000 through 01f characters, serving as the first character of the stream/storage name, are reserved for use by OLE. This is a compound file restriction, not a structured storage restriction.


вот на длинну имени и стоит ограничение в 01f символов. а жаль пришлось извращаться с индексацией гуидов.
smile smile smile


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
p0s0l
Дата 15.3.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 6
Всего: 112



Цитата
The 000 through 01f characters, serving as the first character of the stream/storage name, are reserved for use by OLE.
Тут имеется в виду, что если первый символ имеет код от 0 до 31, то такое имя зарезервировано для использования OLE... Тут нигде не говорится про ограничение на длину...


--------------------
С уважением, г-н Посол.
PM   Вверх
Rennigth
Дата 15.3.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: нет
Всего: 76



мдя, внимательно не читал...
но попробуйте сами задать имя ОЛЕСтриму длиннее 31 символа...
тогда это все еще страннее...


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.