Страница 1 из 1

GetFileSizeEx

Добавлено: 15 Май 2012, 15:54
adam975
Доброе время суток.
Подскажите, пожалуйста, Clarion'овский прототип сабжа.

Re: GetFileSizeEx

Добавлено: 15 Май 2012, 17:36
Губин Игорь
а зачем тебе 64бит? такие большие файлы копируешь?

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 9:53
adam975
Да, приходится.

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 12:45
Губин Игорь
А ты уверен, что кларион такое потянет? О_О Функция, случаем, не 64бит?

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 13:26
adam975
Другого выхода не вижу. А что такое "О_О"?

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 13:49
Губин Игорь
adam975 писал(а):А что такое "О_О"?
1. Это не Объектное Окружение
2. Это не Опен Офис
3. Это не Отец Онуфрий

Это просто обозначение смайлика! О_О = :shock:


По прежнему сомневаюсь в способности клариона это потянуть. Если функция 64бит, а задача её вызывающая 32бит... :?:

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 14:15
adam975
Так и выдал бы сразу смайлик. А то я испугался :).
Насколько я понял из MSDN, эта функция возвращает 32-битные LoWord и HiWord, из которых можно получить требуемое.

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 14:36
Губин Игорь
Да, функция 32 разряда, не посмотрел. Но тогда проще... возьми за пример вызов GetFileSize, а вместо PLARGE_INTEGER передай группу

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 14:44
adam975
Пробовал. При компиляции получаю Unresolved External :(.

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 14:55
Губин Игорь
А сама функция есть в Kernel32.dll? Напусти на DLL утилиту LibMaker и, если он там эту функцию обнаружит, сохрани её описание в отдельном LIB, который подключаешь к проекту. Это стандартная ситуация (наталкивался).

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 16:28
adam975
Сделал. Unresolved External исчезло, но зато появилась куча Duplicate Symbol на всё, что есть в Kernel32.dll.
Нет, Игорь, дело, видимо, не в этом. Ведь линкую же совершенно обычным образом, к примеру, CreateFile и всё работает. Спасибо за помощь. Наверно, всё-таки, у меня неправильно описан прототип GetFileSizeEx.

Re: GetFileSizeEx

Добавлено: 16 Май 2012, 16:55
Губин Игорь
adam975 писал(а):но зато появилась куча Duplicate Symbol на всё, что есть в Kernel32.dll.
Читайте внимательно посты великого меня! 8)

В отдельном LIB надо сохранить только описание GetFileSizeex!!!! :x Остальные описания из этой LIB надо убрать!!!!! Тогда и не будет никаких Duplicate Symbol
Я так работал с user.dll - там есть функции которых нет в lib. Я запускал libmaker, удалял лишние описания и результат (с описанием только одной функции) сохранял как myuser.lib (т.е. с именем отличным от имени по-умолчанию)

P.S. Неверное описание тут абсолютно не при чём.
P.P.S. Смотри результат во вложении
P.P.P.S. Можешь доброго меня особо не благодарить! :wink:
P.P.P.P.S. Ежели и это непонятно, то стукнись в аську.

Re: GetFileSizeEx

Добавлено: 17 Май 2012, 9:44
adam975
Спасибо, Игорь. Работает! А чем ты редактировал getfilesizeex.lib?

Re: GetFileSizeEx

Добавлено: 17 Май 2012, 10:20
Губин Игорь
adam975 писал(а):Спасибо, Игорь. Работает! А чем ты редактировал getfilesizeex.lib?
Губин Игорь писал(а):Читайте внимательно посты великого меня! 8)
:evil:

LibMaker!!!!!!!!!! там есть такая кнопочка ()куда тыкают мышкой), на ней написано Remove

:) :) :)

Re: GetFileSizeEx

Добавлено: 17 Май 2012, 15:33
adam975
Семён Семёныч! :)