Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
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
Как получить выравнивание текста колонки


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


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


2-1468753424
Антонов Саша
2016-07-17 14:03
2018.09.02
Delphi 10 Seattle, преобразование типов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский