powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3 Alpha: New public API
7 сообщений из 57, страница 3 из 3
Firebird 3 Alpha: New public API
    #38362462
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeИ 14684548 подправить было бы очень неплохо, чтобы не привыкать к плохому :)
Свистните когда подправите, и я продолжу с новым API.
...
Рейтинг: 0 / 0
Firebird 3 Alpha: New public API
    #38376941
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr, hvlad

Как вот это должно выглядеть на Delphi?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
// Interface to work with status vector
// Created by master interface by request
// Also may be implemented on stack by internal FB code
class IStatus : public IDisposable
{
public:
	virtual void FB_CARG set(unsigned int length, const ISC_STATUS* value) = 0;
	virtual void FB_CARG set(const ISC_STATUS* value) = 0;
	virtual void FB_CARG init() = 0;

	virtual const ISC_STATUS* FB_CARG get() const = 0;
	virtual int FB_CARG isSuccess() const = 0;
};



Пробовал вот так

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  // Interface to work with status vector
  // Created by master interface by request
  // Also may be implemented on stack by internal FB code
  IStatus = class(IDisposable)
  public
	  procedure _set(length: ULong; const value: PISC_STATUS); overload; virtual; abstract;
	  procedure _set(const value: PISC_STATUS); overload; virtual; abstract;
	  procedure init(); virtual; abstract;

	  function get(): PISC_STATUS; virtual; abstract;
	  function isSuccess(): Integer; virtual; abstract;
  end;



Но при выполнении это падает. В лоб перевести не получается (set зарезервированное слово в Delphi)
Код: pascal
1.
procedure set(length: ULong; const value: PISC_STATUS); overload; virtual; abstract;



Вообще планируется ли включить в поставку заголовки для нового API для Delphi, а не только для C++?
...
Рейтинг: 0 / 0
Firebird 3 Alpha: New public API
    #38376948
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКак вот это должно выглядеть на Delphi?
Соглашения о вызове для методов должны быть cdecl.

Симонов ДенисВообще планируется ли включить в поставку заголовки для нового API для Delphi, а не только для C++?
для python/perl/php и иже с ними тоже? В старом АПИ было все только для Си и никому это не помешало написать обертки под остальные языки.
...
Рейтинг: 0 / 0
Firebird 3 Alpha: New public API
    #38376953
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrСоглашения о вызове для методов должны быть cdecl.


Спасибо, это поправил. А то что метод set одноимённым сделать нельзя это нормально?
...
Рейтинг: 0 / 0
Firebird 3 Alpha: New public API
    #38376955
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКак вот это должно выглядеть на Delphi?
Смотри здесь: https://uib.svn.sourceforge.net/svnroot/uib/trunk
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 3 Alpha: New public API
    #38376958
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Спасибо. То что нужно. Не думал, что они так быстро с новой API будут работать.
...
Рейтинг: 0 / 0
Firebird 3 Alpha: New public API
    #38417749
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeДля SQL_VARYING функция IMessageMetadata.getSubType возвращает CharSet соединения, а IMessageMetadata.getCharSet возвращает 0.
Для SQL_BLOB sub_type 1 в getSubType прописано 1, а в getScale прописан CharSetId соединения.

select * from RDB$RELATIONS:
Name: RDB$VIEW_BLR, Type: SQL_BLOB, SubType: 2, IsNullable: True, Length: 8, Scale: 0, CharSet: 0
Name: RDB$VIEW_SOURCE, Type: SQL_BLOB, SubType: 1, IsNullable: True, Length: 8, Scale: 4, CharSet: 0
Name: RDB$DESCRIPTION, Type: SQL_BLOB, SubType: 1, IsNullable: True, Length: 8, Scale: 4, CharSet: 0
Name: RDB$RELATION_ID, Type: SQL_SHORT, SubType: 0, IsNullable: True, Length: 2, Scale: 0, CharSet: 0
Name: RDB$SYSTEM_FLAG, Type: SQL_SHORT, SubType: 0, IsNullable: False, Length: 2, Scale: 0, CharSet: 0
Name: RDB$DBKEY_LENGTH, Type: SQL_SHORT, SubType: 0, IsNullable: True, Length: 2, Scale: 0, CharSet: 0
Name: RDB$FORMAT, Type: SQL_SHORT, SubType: 0, IsNullable: True, Length: 2, Scale: 0, CharSet: 0
Name: RDB$FIELD_ID, Type: SQL_SHORT, SubType: 0, IsNullable: True, Length: 2, Scale: 0, CharSet: 0
Name: RDB$RELATION_NAME, Type: SQL_TEXT, SubType: 4, IsNullable: True, Length: 124, Scale: 0, CharSet: 0
Name: RDB$SECURITY_CLASS, Type: SQL_TEXT, SubType: 4, IsNullable: True, Length: 124, Scale: 0, CharSet: 0
Name: RDB$EXTERNAL_FILE, Type: SQL_VARYING, SubType: 0, IsNullable: True, Length: 255, Scale: 0, CharSet: 0
Name: RDB$RUNTIME, Type: SQL_BLOB, SubType: 5, IsNullable: True, Length: 8, Scale: 0, CharSet: 0
Name: RDB$EXTERNAL_DESCRIPTION, Type: SQL_BLOB, SubType: 8, IsNullable: True, Length: 8, Scale: 0, CharSet: 0
Name: RDB$OWNER_NAME, Type: SQL_TEXT, SubType: 4, IsNullable: True, Length: 124, Scale: 0, CharSet: 0
Name: RDB$DEFAULT_CLASS, Type: SQL_TEXT, SubType: 4, IsNullable: True, Length: 124, Scale: 0, CharSet: 0
Name: RDB$FLAGS, Type: SQL_SHORT, SubType: 0, IsNullable: True, Length: 2, Scale: 0, CharSet: 0
Name: RDB$RELATION_TYPE, Type: SQL_SHORT, SubType: 0, IsNullable: True, Length: 2, Scale: 0, CharSet: 0

Пробовал Альфу и последний снапшот.
Два месяца прошло. Работать с этим по-человечески так и нельзя. Диверсанты... :)
...
Рейтинг: 0 / 0
7 сообщений из 57, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3 Alpha: New public API
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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