Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Вниз

Короткий путь   Найти похожие ветки 

 
ArhAngel2   (2002-08-21 19:25) [0]

Подскажите что я делаю не так
var
temp: PChar;
i: integer;
begin
...
i:=GetShortPathName(PChar("C:\Program Files"),temp,sizeof(@temp));
..
end;
Получаеться
i=12
temp=""


 
ZrenBy   (2002-08-21 19:31) [1]

GetMem(temp,254) делал ?


 
Anatoly Podgoretsky   (2002-08-21 19:45) [2]

Тебе надо к Пушкину обратиться, что бы выделил память под temp и к Лермонтову, что расказал, что sizeof вернет 4


 
Anatoly Podgoretsky   (2002-08-21 19:54) [3]

Но вообще то подход почти правильный, надо вместо sizeof(@temp)); передавать 0, а затем

GetMem(temp,I+1);
i:=GetShortPathName("C:\Program Files",temp,I));

Дополнительно нужно проверять на ошибки и обрамить код выделения ресурсов в try блок, что бы не потерять память, в итоге это будет выглядеть так:


begin
...
I := GetShortPathName("C:\Program Files", Temp, 0);
if I <> 0 then
try
GetMem(Temp, I+1);
I := GetShortPathName("C:\Program Files",temp,I));
finally
FreeMem(Temp,I+1);
end
else
Ошибка
..
end;


 
ArhAngel2   (2002-08-21 20:02) [4]

Все заработало. Спасибо большое!!!!



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
1-21036
Саша
2002-09-27 08:17
2002.10.07
Как положить Splitter.


1-21061
Андрусь
2002-09-27 12:22
2002.10.07
Чем отличаются проекты


1-21142
Степан
2002-09-24 15:36
2002.10.07
Ограничение ввода в TEdit


3-20872
Sergey_Rom
2002-09-16 00:23
2002.10.07
Delphi5 dbf > Delphi5


1-21113
ych_boriss
2002-09-25 16:07
2002.10.07
HintWindow





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский