Главная страница
    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.45 MB
Время: 0.009 c
3-74572
Fishka
2002-12-04 14:50
2002.12.23
Insert into ... select ..... - Все замечательно. Но Мемо-поля ?


4-75050
pag77
2002-11-07 19:51
2002.12.23
выключить комп под XP


14-74930
AL2002
2002-12-02 09:46
2002.12.23
Заурядный вопрос про погоду...


14-74932
Tihas
2002-11-24 02:22
2002.12.23
Кто нибудь знает попуярную игру написаную с помощью дельфи?


8-74856
mand
2002-09-05 21:26
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский