Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


GetOpenFileName


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
CyberMerlin
Гость







СообщениеВс, 24-Июн-2007 23:42    Заголовок сообщения: GetOpenFileName
Цитата

implementation
procedure GetOpenFileName; external 'comdlg32.dll' name 'GetOpenFileNameA';

procedure TForm1.Button2Click(Sender: TObject);
begin
GetOpenFileName;
end;

выдает AV. Оно и правильно ведь

Цитата:
Syntax

BOOL GetOpenFileName( LPOPENFILENAME lpofn
);
Parameters

lpofn
[in, out] Pointer to an OPENFILENAME structure that contains information used to initialize the dialog box. When GetOpenFileName returns, this structure contains information about the user's file selection.
Return Value

If the user specifies a file name and clicks the OK button, the return value is nonzero. The buffer pointed to by the lpstrFile member of the OPENFILENAME structure contains the full path and file name specified by the user.


т.е. я должен GetOpenFileName() или Myfunc(@GetOpenFileName) использовать
НО вот как это должно выглядеть?
как это делается?
не могу понять, ведь по идее это функция и она должна возвращать мне пойнтер(указатель) на структуру содержащую все мне нужное - LPOPENFILENAME lpofn
брррррр каша какая-то

кста если этот вопрос у меня будет не единственный (по Вашему предположению), то еще бы и на нужную литературку меня отошлите плиз
В начало
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеПн, 25-Июн-2007 17:05 
Цитата

смотришь описание структуры LPOPENFILENAME делаешь такуюже через record, пихаешь её в параметры функции, получешь заполненную структуру и дальше работаешь с ней как с обычным record.
не забудь про возвращаемое значение функции.

_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПн, 25-Июн-2007 23:40 
Цитата

Цитата:
ведь по идее это функция и она должна возвращать мне пойнтер(указатель) на структуру содержащую все мне нужное - LPOPENFILENAME lpofn

Ничего она не должна возвращать, кроме кода ошибки
function GetOpenFileName(lpofn: pointer): integer; stdcall; external 'comdlg32.dll' name 'GetOpenFileNameA';

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100