Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при работе с GetWindowsDirectory [D5]


antonioxxx ©   (2002-09-22 22:40:00) 

Уважаемые программисты! У меня возникает ошибка, когда я пытаюсь вызвать функцию GetWindowsDirectory в OnCreate для формы. Та же ошибка возникает и при попытке вызова этой функции в OnActivate и OnShow. Функция же GetWindowsDirectoryW никаких ошибок не создает, однако её результат я не могу перевести в строковые данные (Передаваемый параметр типа PWideChar). Подскажите, пожалуйста, как мне с этим справиться!


antonioxxx   (2002-09-24 21:00:00) [1]

Спасибо вам всем за оказанную помощь!


@lexey   (2002-09-23 22:31:00) [2]

Так же как и у Vladislav, но проще! :о)


procedure TFrm.FormCreate(Sender: TObject);
var
buffer: array [0..255] of char;
begin
GetWindowsDirectory(buffer, SizeOf(buffer));
Label2.Caption := buffer;
end;


Удачи antonioxxx!!!


Vladislav   (2002-09-23 10:37:00) [3]

var SP: array[0..MAX_PATH-1] of char;
SysPath, WinPath: TFileName;
begin
SetString( SysPath, SP, GetSystemDirectory( SP, MAX_PATH ));
SetString( WinPath, SP, GetWindowsDirectory( SP, MAX_PATH ));
end;


Song   (2002-09-23 08:27:00) [4]

2Separator © (23.09.02 07:05)
Пушкин А.С. видимо знает...


gek   (2002-09-23 07:41:00) [5]

function GetWindowsDir: string;
{$IFDEF WIN32}
var
Buffer: array[0..1023] of Char;
begin
SetString(Result, Buffer, GetWindowsDirectory(Buffer, SizeOf(Buffer)));
{$ELSE}
begin
Result[0] := Char(GetWindowsDirectory(@Result[1], 254));
{$ENDIF}
end;


Separator   (2002-09-23 07:05:00) [6]


var
pRes: pChar;
WinDir: string;
begin
PRes := StrAlloc(255);
GetWindowsDirectory(PRes, 255);
WinDir:= StrPas(PRes);
end



Almaz   (2002-09-22 23:31:00) [7]

Вероятно вы не правильно ее вызываете - приведите код.

Удачи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо