Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизWhy it causes a mistake : Найти похожие ветки
← →
Mr. xXx (2003-05-19 15:09) [0]
procedure TForm1.Button1Click(Sender: TObject);
var h:HWND;
dest:PAnsiChar;
begin
If OpenDialog1.Execute then
begin
Dest:=StrPCopy(nil,OpenDialog1.FileName);
ShellExecute(h, "explorer",dest, nil, nil, SW_SHOW);
end;
end;
If who knows I shall be grateful for the answer.
← →
Skier (2003-05-19 15:17) [1]>Mr. xXx (19.05.03 15:09)
1) You should allocate memory for dest variable !
2) There"s no need in dest using, you can just write this
way :
ShellExecute(Application.Handle, PChar("explorer"),PChar
(OpenDialog1.FileName), nil, nil, SW_SHOW);
← →
Юрий Зотов (2003-05-19 15:21) [2]Под строку не выделена память - Dest не инициализирован (кстати, H тоже не инициализирована).
Только ничего этого и не требуется:
if OpenDialog1.Execute then
ShellExecute(0, ... , PChar(OpenDialog1.FileName), ...);
← →
Skier (2003-05-19 15:22) [3]Oops. :)
ShellExecute(Application.Handle, nil, PChar("explorer"),PChar(OpenDialog1.FileName), nil, SW_SHOW);
← →
VMcL (2003-05-19 15:29) [4]>Skier © (19.05.03 15:22)
PChar("explorer")
Зачем строку-константу преобразовывать в PChar? Компилятор и сам это умеет :)
← →
VMcL (2003-05-19 15:33) [5]>Mr. xXx (19.05.03 15:09)
>If who knows I shall be grateful for the answer.
If anyone knows I shall be grateful for the answer.
← →
Skier (2003-05-19 15:33) [6]>VMcL © (19.05.03 15:29)
А мы ему поможем ! :)
Хотя ты конечно прав - умеет шельма ! :))
← →
Skier (2003-05-19 15:35) [7]If anyone knows I will be grateful for the answer.
shall - с оттенком должествования
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c