Главная страница
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
1-59113
_acme
2002-11-08 07:26
2002.11.18
Как можно на форме разместить текстуру. (На подобии Opera 6)


7-59464
yem
2002-09-15 10:40
2002.11.18
модем? asyncpro???


1-59261
Xman
2002-11-07 09:54
2002.11.18
Немогу понять может поможете


14-59423
Song
2002-10-31 15:02
2002.11.18
Wanted студенты 4-го курса геологического факультета МГУ


1-59117
Eugene_
2002-11-08 11:27
2002.11.18
Создание массива из области памяти