powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / загрузить файл в VARIANT
25 сообщений из 33, страница 1 из 2
загрузить файл в VARIANT
    #40016677
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как загрузить файл в переменную типа VARIANT ?
и как VARIANT скинуть в TMemoryStream&?
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016686
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73,
А смысл?
Почему не auto?
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016701
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73как загрузить файл в переменную типа VARIANT ?

Никак, обломись.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016720
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Никак, обломись.
Не, как-то можно. Variant может быть типа 0x2011 - байтовый массив. Осталось только разобраться, как его проинициализировать :)
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016721
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73
и как VARIANT скинуть в TMemoryStream&?
А нельзя сразу файл в TMemoryStream? Судя по названию, оно должно подходить для таких операций
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016733
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73
как загрузить файл в переменную типа VARIANT ?

InitVariantFromBuffer
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016737
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
Dimitry Sibiryakov
Никак, обломись.
Не, как-то можно. Variant может быть типа 0x2011 - байтовый массив. Осталось только разобраться, как его проинициализировать :)
ну есть извращения.
Есть OleVariant сразу с маршаллингом)))
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016984
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMb
Mizer73
и как VARIANT скинуть в TMemoryStream&?
А нельзя сразу файл в TMemoryStream? Судя по названию, оно должно подходить для таких операций

сразу можно, но мне нужно пользоваться данными типа VARIANT. Разбираюсь со штукой, CADActivex, она всасывает файл DWG, или другие, типа VARIANT. Файл можно сразу в stream, но вопрос, как этот файл потом из стрима в CADActiveX всосать. этот Activex ещё общается через IStream. Мне подойдёт любой вариант, лучший, чем временно сохранять файл на диск и оттуда читать в компонент.
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016986
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Mizer73как загрузить файл в переменную типа VARIANT ?

Никак, обломись.

что, опять дохлый номер? уж, пора пользу приносить. Подключайся....
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016988
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cerebrum
Mizer73
как загрузить файл в переменную типа VARIANT ?

InitVariantFromBuffer

читаем файл в буфер, потом буфер в variant?
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40016992
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73
читаем файл в буфер, потом буфер в variant?

можешь сказать программно , что файл - это буфер, а потом всосать его в VARIANT
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017012
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73
Разбираюсь со штукой, CADActivex, она всасывает файл DWG, или другие, типа VARIANT.
Разберись с VARIANT, как проинициализировать массив типа 0x2011 и всё. Зачем тащить какой-то экскаватор (CADActivex) в проект, если можно обойтись тяпкой?
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017043
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMb
Mizer73
Разбираюсь со штукой, CADActivex, она всасывает файл DWG, или другие, типа VARIANT.
Разберись с VARIANT, как проинициализировать массив типа 0x2011 и всё. Зачем тащить какой-то экскаватор (CADActivex) в проект, если можно обойтись тяпкой?

CADActivex - это потребитель всех стараний, компонент, который выводит чертёж автокада. и он не способен читать файл из мемористрима. для него и все пляски с бубнами.
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017046
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73
и он не способен читать файл из мемористрима
т.е. он с потоками не работает? Может тогда попробовать написать письмо разработчикам? Потому что правильные ковбои всегда делают как минимум одну сериализацию через поток, ибо это универсальный источник-приёмник данных.
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017144
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbт.е. он с потоками не работает?

Выше аффтар сказал, что работает, но ему не удалось осилить документацию и примеры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017191
ResourceSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mizer73
... этот Activex ещё общается через IStream. Мне подойдёт любой вариант ...

Не очень понял что где имеется сейчас и что куда надо в итоге всунуть. Где у вас эти исходные данные-то? На диске или в памяти?
Если на диске - есть такая штука как SHCreateStreamOnFile*().
TMemoryStream что за тип, у вас Билдер чтоле? Тогда имейте ввиду ещё тип TStreamAdapter.
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017248
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMb
Mizer73
и он не способен читать файл из мемористрима
т.е. он с потоками не работает? Может тогда попробовать написать письмо разработчикам? Потому что правильные ковбои всегда делают как минимум одну сериализацию через поток, ибо это универсальный источник-приёмник данных.


разработчик ответил следующее:
Метод LoadFromStream может использовать один из следующих форматов:
1. нативный объект .NET Stream
2. вариант массив байт
3. IStream
4. строка - имя файла

сам LoadFromStream в потреблении имеет tagVariant.
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017251
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ResourceSpace
Mizer73
... этот Activex ещё общается через IStream. Мне подойдёт любой вариант ...

Не очень понял что где имеется сейчас и что куда надо в итоге всунуть. Где у вас эти исходные данные-то? На диске или в памяти?
Если на диске - есть такая штука как SHCreateStreamOnFile*().
TMemoryStream что за тип, у вас Билдер чтоле? Тогда имейте ввиду ещё тип TStreamAdapter.


есть файл на диске формата DWG. есть компонент CADActiveX, который читает с диска файл и визуализирует.
мне нужно этот прочитанный 1 раз файл хранить в базе данных и визуализировать через этот компонент , не обращаясь более к файлу на диске.

Билдер.
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017258
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mizer73разработчик ответил следующее:
Метод LoadFromStream может использовать один из следующих форматов:
1. нативный объект .NET Stream
2. вариант массив байт
3. IStream
4. строка - имя файла

Ты не пишешь на .NET и тебе надо грузить данные не из файла, так что на выбор остаются
варианты 2 и 3. Второй уже предлагали выше. Для третьего таки надо уточнить какой именно
из IStream имеется ввиду, а потом реализовать его.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017294
ResourceSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эх, оказалось у меня полностью слетел Билдер... Я им почти не пользовался, можно сказать второй раз пригодился бы, а облом...
Что получится если примерно так?:
Код: plaintext
1.
2.
3.
4.
5.
TMemoryStream * memoryStream = new TMemoryStream();
memoryStream.LoadFromFile( ... );
memoryStream->Seek(0, 0);
_di_IStream streamAdapter(*(new TStreamAdapter(memoryStream, soReference))); // или DelphiInterface<IStream> ... // или TComInterface<IStream> ... // или CComPtr<IStream> ...
activeXCAD.LoadFromStream(streamAdapter);
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017299
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ResourceSpace
Эх, оказалось у меня полностью слетел Билдер... Я им почти не пользовался, можно сказать второй раз пригодился бы, а облом...
Что получится если примерно так?:
Код: plaintext
1.
2.
3.
4.
5.
TMemoryStream * memoryStream = new TMemoryStream();
memoryStream.LoadFromFile( ... );
memoryStream->Seek(0, 0);
_di_IStream streamAdapter(*(new TStreamAdapter(memoryStream, soReference))); // или DelphiInterface<IStream> ... // или TComInterface<IStream> ... // или CComPtr<IStream> ...
activeXCAD.LoadFromStream(streamAdapter);



[bcc32 Error] Extr_Profil.cpp(1114): E2034 Cannot convert '_di_IStream' to 'tagVARIANT'
Full parser context
Extr_Profil.cpp(1106): parsing: void _fastcall TExtr_Profiles::DWG_LoadClick(TObject *)
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017306
ResourceSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм...
Код: plaintext
1.
2.
--//--
activeXCAD.LoadFromStream(Variant(streamAdapter));

или
Код: plaintext
1.
2.
3.
--//--
Variant streamAsVariant = Variant(streamAdapter);
activeXCAD.LoadFromStream(streamAsVariant);

?
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017309
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ResourceSpace
хм...
Код: plaintext
1.
2.
--//--
activeXCAD.LoadFromStream(Variant(streamAdapter));


или
Код: plaintext
1.
2.
3.
--//--
Variant streamAsVariant = Variant(streamAdapter);
activeXCAD.LoadFromStream(streamAsVariant);


?
монопесуально. Если тип совпадает с подсказкой в IDE (нет приведения)
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017320
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ResourceSpaceЧто получится если примерно так?:

От пихания в программу случайного кода обычно получается случайная хрень.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
загрузить файл в VARIANT
    #40017327
Mizer73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
ResourceSpace
хм...
Код: plaintext
1.
2.
--//--
activeXCAD.LoadFromStream(Variant(streamAdapter));


или
Код: plaintext
1.
2.
3.
--//--
Variant streamAsVariant = Variant(streamAdapter);
activeXCAD.LoadFromStream(streamAsVariant);


?
монопесуально. Если тип совпадает с подсказкой в IDE (нет приведения)


гениально!!!

то, что надо - оно работает!!!
Код: plaintext
1.
LoadFromStream(Variant(streamAdapter));
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / загрузить файл в VARIANT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]