powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / WinAPI'шная OpenFile и PB
10 сообщений из 10, страница 1 из 1
WinAPI'шная OpenFile и PB
    #34949564
breathem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем здравия.
PB 10.5.1.6684

Излагаю суть проблемы.
1.Продекларировал глобальную внешнюю функцию:
function uint OpenFile( string cFileName, ref s_reopenbuff ROB, uint nStyle ) library "kernell32.dll".

2.Создал структуру s_reopenbuff. У нее:
string cBytes
string fFixedDisk
unsignedinteger nErrCode
unsignedinteger Reserved1
unsignedinteger Reserved2
string szPathName

2.В проекте создал функцию fcn_openfile, которая, собственно:
uint nRes
............
/*в качестве примера сразу подставляю все значения переменных*/
nRes = OpenFile( "E:\index.html", ROB, 0 )

Файл "E:\index.html" существует. nStyle=0 из в MSDN:
uStyle Description
OF_READ (0x00000000) Opens a file for reading only

После всех этих манипуляций получаю то, что на картинке. В чем проблема, подскажите пожалуйста.
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949588
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А потому, что есть либо функция OpenFileA либо функция OpenFileW которая Вам и нужна.
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949594
breathem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще. Функция fcn_OpenFile( string cFileName, unsignedinteger uStyle, string cMethod, string cBatName, ref s_reopenbuff rob ) returns ( none )
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949658
breathem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь показаться невеждой, но! Марк, откуда взялись OpenFileA и OpenFileW? В МСДН есть только OpenFile без A и W...
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949708
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
breathemБоюсь показаться невеждой, но! Марк, откуда взялись OpenFileA и OpenFileW? В МСДН есть только OpenFile без A и W...
A - это строки в ANSI кодировке, W - в юникоде WideChar. Тут где-то на форуме (давно) ссулка на статью про это болталась. Это вообще так со всеми функциями в Windows в которых есть строковые параметры.
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949727
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
breathem wrote:

> PB 10.5.1.6684
>
> Излагаю суть проблемы.
> 1.Продекларировал глобальную внешнюю функцию:
> function uint OpenFile( string cFileName, ref s_reopenbuff ROB, uint
> nStyle ) library "kernell32.dll".

Между прочим, в MSDN весьма недвусмысленно написано:

This function is provided only for compatibility with 16-bit versions of
Windows. New applications should use the CreateFile function.

The OpenFile function does not support Unicode file names.

> 2.Создал структуру s_reopenbuff. У нее:
> string cBytes
> string fFixedDisk

Чушь.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949741
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк wrote:

> A - это строки в ANSI кодировке, W - в юникоде WideChar. Тут где-то на
> форуме (давно) ссулка на статью про это болталась. Это вообще так со
> всеми функциями в Windows в которых есть строковые параметры.

OpenFile - это старьё и ANSI only.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949770
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OpenFile действительно только ансишная
а вот KERNEL32 пишется с одной 'L' :)
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949784
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS: структура s_reopenbuff обьявленна абсолютно неправильно.
...
Рейтинг: 0 / 0
WinAPI'шная OpenFile и PB
    #34949795
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000OpenFile - это старьё и ANSI only.
Да, дейтствительно, хотя перед тем как написать посмотрел в kernel32.dll и увидел их две :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / WinAPI'шная OpenFile и PB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]