Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 9 [10] 11 12   вперед  Ctrl      все
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
В аттаче - готовый Firebird.pas. Мало ли, может кому-то понадобится.

К сообщению приложен файл (Firebird.7z - 42Kb) cкачать
5 мар 19, 23:47    [21825824]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
hvlad
Member

Откуда:
Сообщений: 10195
Разрабоччик,

в линуксовом дистрибутиве беты есть готовый pas файл
6 мар 19, 00:31    [21825841]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
Симонов Денис,

не хорошо.

1. В идентификаторах интерфейсов (файл FirebirdInterface.idl) используются зарезервированные слова паскаля, например:

	boolean insertRecord(const string name,
					  	 ReplicatedRecord record);


Получается вот такой паскалевский код:

IReplicatedTransaction_insertRecordPtr = function(this: IReplicatedTransaction; name: PAnsiChar; record: IReplicatedRecord): Boolean; cdecl;

- не компилируется.

2. Кроме того, в типах используются int16 и int32, не являющиеся для Delphi "встроенными".

3. Пустая секция const перед implementation.

4. Также используются не объявленные типы ISC_TIMESTAMP_TZ, ISC_TIME_TZ.

5. Не компилируется, т.к. не объявлены константы isc_arg_gds, isc_random, isc_arg_string, isc_arg_end. Сие, как я понимаю, следствие п.3.


В Firebird.pas, который уже есть в http://web.firebirdsql.org/downloads/prerelease/v40beta1/Firebird-4.0.0.1436-Beta1.tar.bz2 - тоже не все хорошо: п.3 и п.5 пофикшены, но остаются пп 1, 2 и 4.


Может, там, после CLOOP, что-то руками доделывать нужно?
6 мар 19, 00:36    [21825844]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
hvlad
Разрабоччик,

в линуксовом дистрибутиве беты есть готовый pas файл


Тоже нерабочий:


1. В идентификаторах интерфейсов (файл FirebirdInterface.idl) используются зарезервированные слова паскаля, например:

	boolean insertRecord(const string name,
					  	 ReplicatedRecord record);

Получается вот такой паскалевский код:

IReplicatedTransaction_insertRecordPtr = function(this: IReplicatedTransaction; name: PAnsiChar; record: IReplicatedRecord): Boolean; cdecl;

- не компилируется.

2. Кроме того, в типах используются int16 и integer32, не являющиеся для Delphi "встроенными".

3. Также используются не объявленные типы ISC_TIMESTAMP_TZ, ISC_TIME_TZ.
6 мар 19, 12:30    [21826120]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9246
Разрабоччик,

версия Delphi какая?
Во всяких там XE, Berlin... int16, int32 давно есть как алиасы стандартных типов
6 мар 19, 12:33    [21826124]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
Симонов Денис
Разрабоччик,

версия Delphi какая?
Во всяких там XE, Berlin... int16, int32 давно есть как алиасы стандартных типов

D2007.

Ну ладно, Int16 и Integer32 - мелочь, хотя и.

Но пп. 1 и 3 - косяки.
6 мар 19, 12:37    [21826132]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
hvlad
Member

Откуда:
Сообщений: 10195
Разрабоччик,

пиши трекеру
6 мар 19, 12:51    [21826155]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9246
Разрабоччик,

вот в этом файле https://github.com/FirebirdSQL/firebird/blob/master/extern/cloop/src/cloop/Generator.cpp

string PascalGenerator::escapeName(string name, bool interfaceName)
{
	//// TODO: Create a table of keywords.

	if (name == "file" ||
		name == "function" ||
		name == "procedure" ||
		name == "set" ||
		name == "to" ||
		name == "type")
	{
		name += "_";
	}

	if (interfaceName)
		name = prefix + name;

	return name;
}


добавь record в качестве зарезервированного. Ну а вообще надо в fbdevel написать чтобы добавили
6 мар 19, 12:54    [21826158]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

Разрабоччик
D2007.

Тогда просто обломись. Минимальная поддерживаемая версия, кажется, 2009-я если не вообще ХЕ.

Posted via ActualForum NNTP Server 1.5

6 мар 19, 13:04    [21826177]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
Dimitry Sibiryakov
Разрабоччик
D2007.

Тогда просто обломись. Минимальная поддерживаемая версия, кажется, 2009-я если не вообще ХЕ.

В D2009/ХЕ в качестве имен параметров можно использовать "record" и использовать незадекларированные идентификаторы типов?
6 мар 19, 13:24    [21826202]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

Разрабоччик
В D2009/ХЕ в качестве имен параметров можно использовать "record" и использовать
незадекларированные идентификаторы типов?

Понятия не имею, но это - сущие мелочи по сравнению с использованием платформозависимых
типов в этом API.

Posted via ActualForum NNTP Server 1.5

6 мар 19, 13:34    [21826232]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9246
Разрабоччик,

ты уже написал в трекер?
На самом деле именно эти два пункта можно пофиксить очень быстро.
6 мар 19, 14:01    [21826282]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27844
Разрабоччик
Дельфи 2007 неюникодная, плюс действительно старая, и не умеет компилять 64бит приложения.
Прежде чем писать что-то в трекер, нужно проверить импорт idl в соответствующих версиях (2009, ХЕ, ...)
6 мар 19, 14:09    [21826300]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
Симонов Денис
Разрабоччик,

ты уже написал в трекер?
На самом деле именно эти два пункта можно пофиксить очень быстро.

Да.
6 мар 19, 14:10    [21826303]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8211
http://tracker.firebirdsql.org/browse/CORE-6022

PERMISSION VIOLATION
6 мар 19, 14:25    [21826327]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27844
Разрабоччик,

нет там никакого 6022. последнее CORE-6021.
6 мар 19, 14:28    [21826334]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
hvlad
Member

Откуда:
Сообщений: 10195
Разрабоччик,

не надо ограничивать уровень видимости тикета без серьёзных причин
6 мар 19, 14:34    [21826342]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
hvlad
Member

Откуда:
Сообщений: 10195
Ivan_Pisarevsky,

попробуй ещё раз
6 мар 19, 14:35    [21826343]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
hvlad
Разрабоччик,

не надо ограничивать уровень видимости тикета без серьёзных причин

Не уверен даже, что я знаю, как это делать...
6 мар 19, 14:59    [21826376]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
hvlad
Member

Откуда:
Сообщений: 10195
Разрабоччик
hvlad
Разрабоччик,

не надо ограничивать уровень видимости тикета без серьёзных причин

Не уверен даже, что я знаю, как это делать... Картинка с другого сайта.
Security=Developers кто поставил ?
6 мар 19, 16:16    [21826489]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
hvlad
Разрабоччик
пропущено...

Не уверен даже, что я знаю, как это делать... Картинка с другого сайта.
Security=Developers кто поставил ?

Получается, что я. Но я не осознавал возможность негативных последствий!
6 мар 19, 16:20    [21826496]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
Симонов Денис
Разрабоччик,

версия Delphi какая?
Во всяких там XE, Berlin... int16, int32 давно есть как алиасы стандартных типов


В "Рио" Delphi 10.3.1 типы int16, int32 и int32 определены, а integer32 - нет.

А в Firebird.pas из "четверки" как раз integer32:

    isc_tr_handle = ^integer32;
    isc_stmt_handle = ^integer32;

~~~~~~~~~~~~~~~~~~~~~~

А в Firebird.pas из "тройки" int16 встречается. В итоге, чтобы D2007 использовать, нужно дописывать
 int16 = SmallInt;


kdv
Дельфи 2007 неюникодная...

В Firebird.pas ничего "юникодного нет, чтобы D2007 не использовать. Добавили бы в начало пару строчек, никому бы хуже не стало:
 int16 = SmallInt;
 int32 = Integer;
11 мар 19, 08:17    [21828870]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9246
Разрабоччик
В Firebird.pas ничего "юникодного нет, чтобы D2007 не использовать. Добавили бы в начало пару строчек, никому бы хуже не стало:
 int16 = SmallInt;
 int32 = Integer;


ты пробовал добавить? После этого стало работать?
11 мар 19, 09:35    [21828896]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Разрабоччик
Member

Откуда:
Сообщений: 21
Симонов Денис
Разрабоччик
В Firebird.pas ничего "юникодного нет, чтобы D2007 не использовать. Добавили бы в начало пару строчек, никому бы хуже не стало:
 int16 = SmallInt;
 int32 = Integer;


ты пробовал добавить? После этого стало работать?

Да, все хорошо и с D2007 и с D10.3.1:

// Firebird 3.0.4
{ This file was autogenerated by cloop - Cross Language Object Oriented Programming }

{$IFDEF FPC}
{$MODE DELPHI}
{$OBJECTCHECKS OFF}
{$ENDIF}

unit Firebird;

interface

uses Classes, SysUtils;

type
{$IFNDEF FPC}
	QWord = UInt64;
{$ENDIF}

  Int16 = SmallInt;
  Int32 = Integer;

	IVersioned = class;
	IReferenceCounted = class;
	IDisposable = class;
	IStatus = class;
	IMaster = class;
	IPluginBase = class;
	IPluginSet = class;
...
11 мар 19, 10:25    [21828923]     Ответить | Цитировать Сообщить модератору
 Re: Что слыхать про 4.0? Когда?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

Разрабоччик
все хорошо и с D2007

Вопрос на засыпку: чему там равно sizeof(NativeInt)?

Posted via ActualForum NNTP Server 1.5

11 мар 19, 13:04    [21829061]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 9 [10] 11 12   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить