Форум: "Начинающим";
Текущий архив: 2018.09.02;
Скачать: [xml.tar.bz2];
ВнизDelphi 10 Seattle, преобразование типов Найти похожие ветки
← →
Антонов Саша (2016-07-17 14:03) [0]Здравствуйте мастера! Изучаю сабж, использую функцию работы с ресурсами,пример:
rs_img:=TResourceStream.Create(0,"1",PChar(RT_RCDATA));
... дальше стрим и присвоение картинке.. все работает..
данные с идентификатором "1" читает, но нужно просмотреть
все ресурсы, делаю дальше так:
for i:=1 to 5 do
begin
rs_img:=TResourceStream.Create(0,IntToStr(i),PChar(RT_RCDATA));
end;
Не компилит, просит тут IntToStr(i) для себя PChar, хорошо пишу тогда так:
rs_img:=TResourceStream.Create(0,PChar(IntToStr(i)),PChar(RT_RCDATA));
все компилит, но при выполнении вылетает ошибка и ничего читает.. ((
Как правильно преобразовать String в PChar?
← →
Игорь Шевченко © (2016-07-17 14:46) [1]
> вылетает ошибка
Надо исправить.
А на будущее прочитать
http://segfault.kiev.ua/smart-questions-ru.html
← →
Антонов Саша (2016-07-17 14:59) [2]Большое спасибо за полезные советы, оч.помогли в решении проблемы!
Так приятно что в интернете есть тематические форумы и профессионалы всегда
готовые помочь молодым, "зеленым" новичкам в изучении сложного иссккства программирования когда нагуглить ничего толком не получается. Особенно мало информации к сожалению по новой Firemonkey и ее особенностям при написании программ для мобильных устройств.. (( Еще раз благодарствую!
← →
Антонов Саша (2016-07-17 15:02) [3]Нашел:
function strtoPchar(s:string):Pchar;
begin
S := S+#0;
result:=StrPCopy(@S[1], S) ;
end;
Не помогло.. ((
← →
Антонов Саша (2016-07-17 15:05) [4]Баркадеровцы же пишут, что все не так просто:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/String_to_PChar_Conversions
Но как именно нужно непонятно.. ((
← →
Kilkennycat © (2016-07-17 22:29) [5]
> непонятно.. ((
да. а еще непонятно, какая при выполнении вылетает ошибка
Так приятно, что на тематических форумах новички считают профессионалов телепатами, могущими по кое-как предоставленной информации помочь в столь примитивном искусстве программировании, что можно помнить абсолютно всё, быстренько установить Делфи с Firemonkey, накидать код новичка, убедится, что все работает, а ошибка, мож, от отсутствующих ресурсов или еще хрени какой-нить.
← →
Kilkennycat © (2016-07-17 22:39) [6]пример корректного кода для фиреманки:
http://stackoverflow.com/questions/18426914/how-to-store-images-in-firemonkey
← →
имя (2016-07-17 23:36) [7]Удалено модератором
← →
Германн © (2016-07-19 01:15) [8]
> Антонов Саша (17.07.16 14:03)
Ваша главная ошибка в том, что вы получив "при выполнении вылетает ошибка" не стали разбираться что это за ошибка. И тут не привели этого сообщения об ошибке. Вместо этого вы подумали что проблема именно в преобразовании типа string в тип PChar при передаче параметра в WINAPI функцию. А таких проблем отродясь не было.
← →
NoUser © (2016-07-19 19:02) [9]
r1 := TResourceStream.CreateFromID(0,1,RT_RCDATA);
r2 := TResourceStream.CreateFromID(0,2,RT_RCDATA);
--
RT_RCDATA объявлен какconst RT_RCDATA = PChar(10);
и дополнительно PChar() ему не надо.
--
И если в цикле, то необходимо помыть посуду:for i:=1 to 5 do
begin
rs_img:=TResourceStream.CreateFromID(0, i, RT_RCDATA);
// ...
rs_img.Free; // !
end;
← →
DayGaykin © (2016-07-24 22:51) [10]Дело скорее всего не в преобразовании. Я ни разу не сталкивался с проблемой преобразования PChar(... any string...).
Может вместо нуля стоит указать HInstance все-таки?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2018.09.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.001 c