Текущий архив: 2002.11.18;
Скачать: CL | DM;
Вниз
String -> PChar Найти похожие ветки
← →
Incognito © (2002-11-05 00:04) [0]Здравстыуйте!
Проблема такая:
Моей проге нужно открыть приложение, которое находтся в той же директории, что и моя прога.
...
var
h : HWND;
path : ????;
begin
path:=ExtractFilePath(paramstr(0))+"About.exe";
ShellExecute(h,"open",path,0,0,SW_SHOW);
...
Но проблемма в том, что функция ExtractFilePath возвращает строковое выражение типа String,
Процедуре ShellExecute требуется PChar
Подскажите функцию для преобразования String -> PChar.
Или скажите, как по-другому решить эту проблему.
Заранее блогодарю
← →
^Sanya © (2002-11-05 00:07) [1]Явное преобразование типов:
var
s: string;
ps: pchar;
begin
...
PCharParametersProcedure(PChar(s))
...
end;
← →
Incognito © (2002-11-05 00:13) [2]Чего-то не понял.
Если так:
var
h : HWND;
path : pChar;
s : String;
begin
s:=ExtractFilePath(paramstr(0))+"About.exe";
path:=PCharParametersProcedure(PChar(s));
ShellExecute(h,"open",path,0,0,SW_SHOW);
то не работает.
Пишет, что не знает он никаких PCharParametersProcedure
← →
Alex4444444444 (2002-11-05 00:18) [3]Eto byla figura rechi.
ShellExecute(h,"open",PChar(path),0,0,SW_SHOW);
← →
Incognito © (2002-11-05 00:24) [4]Спасибо. Вроде работает.
← →
^Sanya © (2002-11-05 00:28) [5]....да..
причём тут...
Короче:
PCharParametersProcedure - это я к примеру написал.
В твоём случае будет:
...
var
h : HWND;
path : PChar;
begin
path := PChar(ExtractFilePath(paramstr(0))+"About.exe");
ShellExecute(h,"open",path,0,0,SW_SHOW);
...
или:
...
var
h : HWND;
path : string;
begin
path := ExtractFilePath(paramstr(0))+"About.exe";
ShellExecute(h,"open",PChar(path),0,0,SW_SHOW);
...
← →
Incognito © (2002-11-05 00:36) [6]ну я уж понял.
Спасибо
← →
^Sanya © (2002-11-05 00:40) [7]А вообще, подумай, что будет, если написать:
...
var
h: HWND;
begin
ShellExecute(h,"open","About.exe",0,0,SW_SHOW);
...
Обязательно подумай.
← →
Alex4444444444 (2002-11-05 00:49) [8]Mozhet ne srabotat", t.k. programma mozhet byt" zapushena iz drugogo mesta.
← →
^Sanya © (2002-11-05 01:21) [9]
> Alex4444444444 (05.11.02 00:49)
> Mozhet ne srabotat", t.k. programma mozhet byt" zapushena
> iz drugogo mesta.
В смысле, если по локалке запустить её с другого копма?
И что будет (самому интересно)?
← →
Song © (2002-11-05 08:46) [10]Ничего не будет - запуститься без проблем.
← →
Alex4444444444 (2002-11-05 11:16) [11]Net, ya imel v vidu, chto proga mozhet byt" zapushena iz drugogo cataloga. Razve ne verno, chto ShellExecute dlya .exe file"a budet iskat" file standartnym obrazom: tekushij dir + path? A proga mozhet byt" zapushena linkom, v kotorom v kachestve rabochego cataloga stoit chto-nibud" drugoe? (Ili proga menyaet rabochij catalog, liba sama, libo kakim-nibud" dialogom.)
← →
Севостьянов Игорь © (2002-11-07 11:07) [12]
> Alex4444444444 (05.11.02 11:16)
Автор вопроса ясно сказал же
Incognito © (05.11.02 00:04)
Здравстыуйте!
Проблема такая:
Моей проге нужно открыть приложение, которое находтся в той же директории, что и моя прога.
← →
Separator © (2002-11-07 11:19) [13]
> Севостьянов Игорь © (07.11.02 11:07)
Все правильно Alex4444444444 говорит, текущий каталог моджет не совпадать с каталогом проги
Страницы: 1 вся ветка
Текущий архив: 2002.11.18;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.026 c