Size: a a a

2020 April 13

GB

George Bakhtadze in Delphi & Lazarus
Sergey Bodrov
Даже пробовать боюсь, как будет вложенная специализация работать. =)
на самом деле ничего особенного. в дельфи точно работает.
источник

RS

Renat Suleymanov in Delphi & Lazarus
George Bakhtadze
поэтому интерфейс тут подойдет лучше всего. вложенные специализации насколько помню FPC пока не поддерживает, т.е. TList<T> не компилируется?
МОжет я и ошибаюсь и не понял что это такое. Но у меня работает
источник

RS

Renat Suleymanov in Delphi & Lazarus
Также работает частичная специализация, потом опять обощение и т.д.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Sergey Bodrov
generic TDataFile<T> = class(TObject) 
 function GetByOffset(AOffset: TFileOffset; var AEntry: T): Boolean;
 function GetByOffset(AOffset: TFileOffset; ACount: Integer;
     var AData: array of T): Boolean; overload;
end;
TAreaDataFile = specialize TDataFile<TMapArea>;
TNodeDataFile = specialize TDataFile<TMapNode>;
TWayDataFile = specialize TDataFile<TMapWay>;
(синтаксис FPC)
Вот примерно в таком случае мне пришлось использовать интерфейс. Были несколько специализаций, которые нужно было указывать в другом классе. Подумал, что правильней  в таком случае создать интерфейс
источник

GB

George Bakhtadze in Delphi & Lazarus
Renat Suleymanov
МОжет я и ошибаюсь и не понял что это такое. Но у меня работает
не работает такое: TTest2<T> = class( TTest1<T>)
источник

RS

Renat Suleymanov in Delphi & Lazarus
George Bakhtadze
не работает такое: TTest2<T> = class( TTest1<T>)
Работало
источник

RS

Renat Suleymanov in Delphi & Lazarus
George Bakhtadze
не работает такое: TTest2<T> = class( TTest1<T>)
Вот пример. Только синтаксис Object FPC, конечно
generic TdGSQLdbOpf<T> = class(specialize TdGOpf<TdSQLdbConnector, TdSQLdbQuery, T>);
источник

RS

Renat Suleymanov in Delphi & Lazarus
George Bakhtadze
не работает такое: TTest2<T> = class( TTest1<T>)
В этом случае будет, как я понимаю:
generic TTest2<T> = class(specialize TTest1<T>);
источник

S

Serjone in Delphi & Lazarus
Вопрос про идудпсервер
Нашёл статью по компоненту, там написано:
Для приема данных нужно в свойствах компонента визуально или в коде выполнить настройки: указать свойство Active = true, Bindings - IP и порт для прослушивания.
Таки какой ип нужно указывать для сервера? Свой? Устройства которое слушаем? Определённый интерфейс?
Мне нужно ловить броадкаст пакеты. В вирешарке их вижу, а в делфи не могу поймать.
источник

GB

George Bakhtadze in Delphi & Lazarus
Renat Suleymanov
Вот пример. Только синтаксис Object FPC, конечно
generic TdGSQLdbOpf<T> = class(specialize TdGOpf<TdSQLdbConnector, TdSQLdbQuery, T>);
виноват, это работает. это не работает:
TTest<T: ITest; S: TTest1<T>> = class()
хотя хотелось такое и в дельфи работает
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Serjone
Вопрос про идудпсервер
Нашёл статью по компоненту, там написано:
Для приема данных нужно в свойствах компонента визуально или в коде выполнить настройки: указать свойство Active = true, Bindings - IP и порт для прослушивания.
Таки какой ип нужно указывать для сервера? Свой? Устройства которое слушаем? Определённый интерфейс?
Мне нужно ловить броадкаст пакеты. В вирешарке их вижу, а в делфи не могу поймать.
странная какая-то статья. учитывая что свойства ip в серверах просто не существует
источник

DB

Dmitry Belkevich in Delphi & Lazarus
или как вариант, ты сам что-то не так понял
источник

S

Serjone in Delphi & Lazarus
Dmitry Belkevich
странная какая-то статья. учитывая что свойства ip в серверах просто не существует
положи тидудпсервер на форму. Там он есть.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
положил. нету
источник

S

Serjone in Delphi & Lazarus
Биндинг.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
в биндингсах? там есть, да. там выбирается сетевой интерфейс через который будешь слушать порт
источник

S

Serjone in Delphi & Lazarus
Если просто прописать дефаулт порт, то броадкасты не отображаются
источник

DB

Dmitry Belkevich in Delphi & Lazarus
за дефолтный не скажу. пробуй частные
источник

S

Serjone in Delphi & Lazarus
Dmitry Belkevich
в биндингсах? там есть, да. там выбирается сетевой интерфейс через который будешь слушать порт
я прописал локальный ип интерфейса, который нужно слушать, тоже входящих не видно. Хотя вирешарк показывает, что они есть. Может что-то не учёл?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
локалхост? ну по идее должно проползать всё, почему нет. tcp точно тудой ходит обычно
источник