Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-59397
[NIKEL]
2002-10-30 01:10
2002.11.18
У кого есть сборники факов, интиресных статей по программингу?


1-59137
Dmittry
2002-11-07 19:18
2002.11.18
Как сделать плавный переход одного цвета в другой?


3-59016
Youri
2002-10-29 12:53
2002.11.18
Тормозит прога!!!


1-59102
PETR2002
2002-11-07 23:05
2002.11.18
sendkeys


14-59433
igorr
2002-10-30 17:24
2002.11.18
Форум по C++