Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.09.02;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.008 c
2-1468753424
Антонов Саша
2016-07-17 14:03
2018.09.02
Delphi 10 Seattle, преобразование типов


15-1472570154
sniknik
2016-08-30 18:15
2018.09.02
Чудо? :)


2-1469714607
SergP
2016-07-28 17:03
2018.09.02
Передача функции динамического массива по значению


2-1469695491
vegarulez
2016-07-28 11:44
2018.09.02
[TWebbrowser+JS] Как проверить переменную js?


2-1470210735
p
2016-08-03 10:52
2018.09.02
Как получить выравнивание текста колонки