Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Вниз

Что то я не разберусь с 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.039 c
1-74767
Андрей М
2002-12-10 23:55
2002.12.23
Фейс ХР


1-74710
yaJohn
2002-12-13 17:02
2002.12.23
ожидание асинхронного события & ShowModal


3-74564
_BasiL_
2002-12-04 13:21
2002.12.23
Переиндексация DBF


3-74581
Vint
2002-12-04 13:10
2002.12.23
Формат таб. Paradox


7-75015
Nika123
2002-10-11 11:15
2002.12.23
Клава





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский