Вниз
Скачать: CL | DM;

Что то я не разберусь с GetVolumeInformation!   Найти похожие ветки 

← →
Alexander ©   (2002-11-09 20:36) [0]

Точнее работаю я сней давно и вроде глюков не замечал, но вот написал такой код и он не хочет работать:

function GetFileSystem(RootPath: PChar): string;
var
MaximumComponentLength: DWORD;
FileSystemFlags: DWORD;
FileSystemName: array [0..1024] of Char;
begin
if not GetVolumeInformation(RootPath, nil, 0, nil, MaximumComponentLength, FileSystemFlags,
FileSystemName, SizeOf(FileSystemName)) then
Result := SysErrorMessage(GetLastError)
else
Result := FileSystemName;
end;


после этого на форму кидаю метку, кнопку и едит.
в обработчике кнопки написал
begin
// Edit1.Text := "C:\";
Label1.Caption := GetFileSystem(PChar(Edit1.Text));
end;

запускаю, набираю в Edit1 C:\ - пишет, что указанный путь не найден! проверил на нескольких машинах. Если после этого задать какой нибудь другой реально существующий в системе диск (напр. А:\), то пишет, что устройство не готово и после этого при наборе C:\ выдаёт то, что ожидалось - "NTFS".
Если же перед запуском проги раскомментировать строку, то показывает правильно с первого раза!

В чём прикол?


← →
Snap ©   (2002-11-09 20:55) [1]

Наверное string неправильно в pchar перерабатывается. Попробуй StrPCopy


← →
Alexander ©   (2002-11-09 21:08) [2]

Не помогло, добавил:
Root: array[0..3] of Char;
begin
StrPCopy(Root, Edit1.Text);
Label1.Caption := GetFileSystem(Root);
end;

эффект тот-же, хотя Root=["C",":","\",#0]


← →
Snap ©   (2002-11-09 21:10) [3]

а если вот так

Root: array[0..3] of Char;
begin
StrPCopy(Root, Edit1.Text);
Label1.Caption := GetFileSystem( @Root[0]);
end;


← →
Alexander ©   (2002-11-09 21:16) [4]

Не помогло :(( - тестирую стразу на нескольких машинах (2000, XP)
я теперь до утра отключаюсь


← →
Alexander ©   (2002-11-10 08:12) [5]

У кого какие идеи будут?


← →
Song ©   (2002-11-10 09:02) [6]

Я думаю ошибка в памяти. AV не возникает?
Используйте тип PDWord



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-74633
sniknik
2002-12-09 12:34
2002.12.23
компиляция Delphi проэктов на FreePascal.


8-74849
Mind
2002-08-28 20:42
2002.12.23
Как поменять Glyph?


4-75037
Semion
2002-11-04 08:38
2002.12.23
Путь к проге


14-74927
wHammer
2002-11-29 14:10
2002.12.23
Компонент


1-74699
MegaVolt
2002-12-06 18:29
2002.12.23
Работа со строками и PChar




   Наверх