class helper

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

class helper

Сообщение stikriz » 28.09.2009 11:51:12

В исходниках есть коменты вроде:
Код: Выделить всё
{  TMyClassHelper = class helper for TMyClass
  TMyClassHelper2 = class helper(TMyClassHelper) for TMyClass
  TSealedClass = class sealed (TMaClass)
  TAbstractClass = class abstract (TObject)
}


Но, самих хелперов не видать... Как в Delphi объявить невозможно - не компилит.
Вообще, хелперы есть у FreePascal? Может, как-то по другому объявлять надо?
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: class helper

Сообщение Sergei I. Gorelkin » 28.09.2009 12:01:07

Нету их.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: class helper

Сообщение скалогрыз » 28.09.2009 12:10:04

stikriz писал(а):Но, самих хелперов не видать... Как в Delphi объявить невозможно - не компилит.
Вообще, хелперы есть у FreePascal? Может, как-то по другому объявлять надо?


их нет! и не надо!

лучше использовать видимость внутри модуля.
Код: Выделить всё
interface

type
  TSomeObject = class(TObject)
  private
    data : Integer;
  end;

procedure HelperProc(a: TSomeObject; Value: Integer);

implementation

procedure HelperProc(a: TSomeObject; Value: Integer);
begin
   a.data := Value;
  // записывать в private поле разрешено, потому что HelperProc находится в одном модуле с TSomeObject
end;


Helper классы - это .NETism.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: class helper

Сообщение stikriz » 28.09.2009 12:17:03

[quote="скалогрыз
их нет! и не надо!
[/quote]

Допустим, Вам не надо - это Ваше мнение.

Простой пример. Я недавно старую не мою прогу переводил с BDE на ADO компоненты (в новой базе юникод теперь)
У параметров BDEшных Datasetов есть методы AsString, AsInteger и т.д. Таких вызовов много... У ADOшных таких методов нет - только Value.
Очень просто TParameter сделать хелпер с методами AsString, AsInteger и т.д. и добавить модуль в uses.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: class helper

Сообщение скалогрыз » 28.09.2009 12:22:01

stikriz писал(а):Допустим, Вам не надо - это Ваше мнение.

Простой пример. Я недавно старую не мою прогу переводил с BDE на ADO компоненты (в новой базе юникод теперь)
У параметров BDEшных Datasetов есть методы AsString, AsInteger и т.д. Таких вызовов много... У ADOшных таких методов нет - только Value.
Очень просто TParameter сделать хелпер с методами AsString, AsInteger и т.д. и добавить модуль в uses.


A может стоит взять ADO компоненты от Delphi 7? FPC заявлен на совместимость именно с 7 делфи, но не с последующими. Вводить дополнительную концепцию в компилятор, ради портирования 1 компонента... стоит ли? ;)

ЗЫ: выполняю портирование, новых delphi компонентов, под FPC компилируемость! за вознаграждение ^^
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

Рейтинг@Mail.ru