powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / непонятки с вызовом внешних функций
12 сообщений из 12, страница 1 из 1
непонятки с вызовом внешних функций
    #33302423
uncle Paul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в global external functions пишу:
FUNCTION int _open(string lpPathName,int iReadWrite) Library 'kernel32.dll' Alias FOR 'OpenA'

в окошке в скрипте open пишу:

string fname
int inum

fname='c:\test.txt'

inum = opena(fname, 1)

получаю сообщение об ошибке unknown function name: opena

что я делаю не так?
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302428
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uncle Paul wrote:

> в global external functions пишу:
> FUNCTION int _open(string lpPathName,int iReadWrite) Library
> 'kernel32.dll' Alias FOR 'OpenA'

И с каких это пор в 'kernel32.dll' появилась функция 'OpenA' ;)?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302454
uncle Paul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim2000
uncle Paul wrote:

> в global external functions пишу:
> FUNCTION int _open(string lpPathName,int iReadWrite) Library
> 'kernel32.dll' Alias FOR 'OpenA'

И с каких это пор в 'kernel32.dll' появилась функция 'OpenA' ;)?


FUNCTION int OpenA(string lpPathName,int iReadWrite) Library 'kernel32.dll' Alias FOR '_open'

в скрипте уже ни на что не ругается, а апликуха падает при выполнение с ошибкой error calling external function at line... :(
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302536
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uncle PaulFUNCTION int OpenA(string lpPathName,int iReadWrite) Library 'kernel32.dll' Alias FOR '_open'

в скрипте уже ни на что не ругается, а апликуха падает при выполнение с ошибкой error calling external function at line... :(
Автор, убей себя головой об стену... в kernel32.dll такой функции нет (да и Int-ы в Win32 как-то не очень популярны ;)).
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302635
uncle Paul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim2000 uncle PaulFUNCTION int OpenA(string lpPathName,int iReadWrite) Library 'kernel32.dll' Alias FOR '_open'

в скрипте уже ни на что не ругается, а апликуха падает при выполнение с ошибкой error calling external function at line... :(
Автор, убей себя головой об стену... в kernel32.dll такой функции нет (да и Int-ы в Win32 как-то не очень популярны ;)).

сейчас, выпью чаю и немедленно убъю себя более элегатным способом. а если серьезно, то запустив программу api_help (взял вот тут ftp://ftp.freeware.ru/win/api_help.zip) вижу в ней вот такой текст:

"Функция _lopen

Описание:
function _lopen(PathName: Char; ReadWrite: Integer): Integer;

Откpывает указанный файл.

Паpаметpы:
PathName: Стpока, опpеделяющая путь и имя файла.
ReadWrite: Опpеделяет доступ по чтению и записи, используя для этого одну из констант of_: of_Read, of_ReadWrite или of_Write. См. pаздел "Константы откpытия файла, of_" в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения - описатель файла DOS; -1 - в пpотивном случае.

функция находится в файле kernel32.dll"

ps если бы я все знал про вызовы внешних функций, то не спрашивал бы тут, так что не надо умничать, если не можете помочь.
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302681
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
API helpThe _lopen function opens an existing file and sets the file pointer to the beginning of the file. This function is provided for compatibility with 16-bit versions of Windows. Win32-based applications should use the CreateFile function.

HFILE _lopen(

LPCSTR lpPathName, // pointer to name of file to open
int iReadWrite // file access mode
);
Parameters

lpPathName

Pointer to a null-terminated string that names the file to open. The string must consist of characters from the Windows ANSI character set.

iReadWrite

Specifies the modes in which to open the file. This parameter consists of one access mode and an optional share mode. The access mode must be one of the following values:

Value Meaning
OF_READ Opens the file for reading only.
OF_READWRITE Opens the file for reading and writing.
OF_WRITE Opens the file for writing only.
The share mode can be one of the following values:

Value Meaning
OF_SHARE_COMPAT Opens the file in compatibility mode, enabling any process on a given computer to open the file any number of times. If the file has been opened by using any of the other share modes, _lopen fails.
OF_SHARE_DENY_NONE Opens the file without denying other processes read or write access to the file. If the file has been opened in compatibility mode by any other process, _lopen fails.
OF_SHARE_DENY_READ Opens the file and denies other processes read access to the file. If the file has been opened in compatibility mode or for read access by any other process, _lopen fails.
OF_SHARE_DENY_WRITE Opens the file and denies other processes write access to the file. If the file has been opened in compatibility mode or for write access by any other process, _lopen fails.
OF_SHARE_EXCLUSIVE Opens the file in exclusive mode, denying other processes both read and write access to the file. If the file has been opened in any other mode for read or write access, even by the current process, _lopen fails.
Return Values

If the function succeeds, the return value is a file handle.

Только зачем API? Есть не плохая в PB:
Код: plaintext
1.
2.
3.
FileOpen ( filename {, filemode {, fileaccess {, filelock {, writemode
    { creator, filetype }}}}} )

...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302696
uncle Paul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только зачем API? Есть не плохая в PB:
Код: plaintext
1.
2.
3.
FileOpen ( filename {, filemode {, fileaccess {, filelock {, writemode
    { creator, filetype }}}}} )



никто не говорит что плохая. при чтении бинарного фала и при встрече eof эта функция не читает файл до конца. и медленная она.
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302817
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uncle Paul wrote:

> сейчас, выпью чаю и немедленно убъю себя более элегатным способом. а

Поскорее, пожалуйста.

> если серьезно, то запустив программу api_help (взял вот тут
> ftp://ftp.freeware.ru/win/api_help.zip) вижу в ней вот такой текст:
>
> "Функция _lopen

Ты _lopen от _open можешь отличить?

> function _lopen(PathName: Char; ReadWrite: Integer): Integer;

Кстати, в MSDN эта функция находится в разделе "Obsolete Windows
Programming Elements".

> ps если бы я все знал про вызовы внешних функций, то не спрашивал бы
> тут, так что не надо умничать, если не можете помочь.

В указаниях не нуждаюсь.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302819
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uncle Paul...никто не говорит что плохая. при чтении бинарного фала и при встрече eof эта функция не читает файл до конца. и медленная она.
Тогда понятно.
А если так попробывать объявить:
Код: plaintext
Function ulong _lopen(ref String lpPathName, Uint iReadWrite)Library "KERNEL32.DLL"
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33302839
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dim2000
Зачем же так кричать? Автор же пишет: uncle Paul...если бы я все знал про вызовы внешних функций, то не спрашивал бы тут...
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33304748
uncle Paul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim2000
uncle Paul wrote:

> сейчас, выпью чаю и немедленно убъю себя более элегатным способом. а

Поскорее, пожалуйста.

> если серьезно, то запустив программу api_help (взял вот тут
> ftp://ftp.freeware.ru/win/api_help.zip) вижу в ней вот такой текст:
>
> "Функция _lopen

Ты _lopen от _open можешь отличить?

> function _lopen(PathName: Char; ReadWrite: Integer): Integer;

Кстати, в MSDN эта функция находится в разделе "Obsolete Windows
Programming Elements".

> ps если бы я все знал про вызовы внешних функций, то не спрашивал бы
> тут, так что не надо умничать, если не можете помочь.

В указаниях не нуждаюсь.
Posted via ActualForum NNTP Server 1.3

<censored>
...
Рейтинг: 0 / 0
непонятки с вызовом внешних функций
    #33304883
uncle Paul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Геннадич2 Dim2000
Зачем же так кричать? Автор же пишет: uncle Paul...если бы я все знал про вызовы внешних функций, то не спрашивал бы тут...

спасибо!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / непонятки с вызовом внешних функций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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