powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как не передавать ничего в параметр по ссылке?
39 сообщений из 39, показаны все 2 страниц
Как не передавать ничего в параметр по ссылке?
    #40091390
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть функция:

Код: pascal
1.
2.
3.
4.
5.
6.
function myf(s: string; var res: string): boolean;
begin
  
  if assigned(res) then res := s;

end;



вызов с параметром работает

Код: pascal
1.
2.
3.
4.
var
  r: string;
begin
  myf('Строка', r);



вызов без не работает :)

Код: pascal
1.
2.
3.
4.
var
  r: string;
begin
  myf('Строка', nil);



Можно как-то заделать или перегрузкой?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091393
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antox,

указатели
function TForm1.myf(s: Pointer; var res: String): boolean;
var
st:^string;
begin
st:=s;
if s <> nil
then begin
res:=st^;
result:=True;
end
else Result:=False

end;

procedure TForm1.Button1Click(Sender: TObject);
var
s:String;
begin
if myf(nil, s)
then ShowMessage(s);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
s, s1:String;
begin
s1:='hjgjhghjg';
if myf(@s1, s)
then ShowMessage(s);
end;
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091395
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antox,
PString(nil)^
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091441
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antox,

с указателями точно можно

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
//Delphi 6

//-----------------------------------------
procedure myf(s: string; res: PString);
begin
   if assigned(res) then
      res^ := s;
end;

//-----------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
   s     : string;
   res   : string;
begin
   s := '111';
   res := '??????';
   myf(s, @res);
   Memo1.Lines.Add(res);


   s := '222';
   res := '???????';
   myf(s, nil);
   Memo1.Lines.Add(res);
end;



вот что вывелось
Код: pascal
1.
2.
111
???????
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091450
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antoxМожно как-то заделать или перегрузкой?

Лучше перегрузкой. Параметры по ссылке специально были придуманы чтобы в них нельзя было
передать "ничего".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091454
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
antox,
PString(nil)^


Спасибо, работает :)
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091489
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antox
Соколинский Борис
antox,
PString(nil)^


Спасибо, работает :)

@(nil)^ - универсальный вариант. Но лучше не злоупотреблять. Если это твой код - добавь перегрузку. Если чужой - ты не можешь гарантировать, что функция пережует такой ввод. К примеру, она может безусловно занулять параметр и лишь потом проверять другие.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091514
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antox,

Не надо никаких хаков, указателей и других извратов. Объявить локальную переменную S:string и передавать туда.
За указатели в таких местах - гнать из професии.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091561
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
Не надо никаких хаков, указателей и других извратов. Объявить локальную переменную S:string и передавать туда.
За указатели в таких местах - гнать из професии.

Это точно программист ответствует?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091570
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Это точно программист ответствует?
это школьник.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091576
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

если про меня, то опыт паскаль / дельфи > 35 лет.
Я не про указатели вообще, сам их очень даже использую там, где они к месту.
А тут явный изврат только для того, чтобы показать что они знают, как это делается.
Такие эмоции, потому что не далее как вчера помогал вычищать подобное говно менее опытному коллеге,
который с этим корячился несколько часов с кодом, в которым тоже были когда то созданы проблемы на ровном месте.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091578
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
если про меня, то опыт паскаль / дельфи > 35 лет.

35 лет и вместо рабочего примера ушат помоев.

Да и "локальная переменная" - вообще чудо. В функции/процедуре? В её локальную переменную?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091584
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

Рабочий пример уже был в исходном сообщении, вторым по счету, я на это и указал.
Да, это называется локальная переменная. В вызывающей фунции.
Н.Вирт "Язык паскаль".
Я такое изучал в 9 классе в 1984 году,
а в ответах на исходное пошел какой-то трэш про то что нужно учить указатели и хаки, за которые в рабочем коде надо пороть.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091651
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
antox
пропущено...


Спасибо, работает :)

@(nil)^ - универсальный вариант. Но лучше не злоупотреблять. Если это твой код - добавь перегрузку. Если чужой - ты не можешь гарантировать, что функция пережует такой ввод. К примеру, она может безусловно занулять параметр и лишь потом проверять другие.


Код мой, но перегрузка добавит кучу ненужного кода и непонятно, какой в этом смысл
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091652
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
antox,

Не надо никаких хаков, указателей и других извратов. Объявить локальную переменную S:string и передавать туда.
За указатели в таких местах - гнать из професии.


Чем не нравится?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091653
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может есть какие-то другие, менее затратные, способы вернуть несколько значений из функции?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091676
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antox
Может есть какие-то другие, менее затратные, способы вернуть несколько значений из функции?

Вернуть запись и использовать только нужные поля?..
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091680
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antox
Может есть какие-то другие, менее затратные, способы вернуть несколько значений из функции?


менее затратные по сравнению с чем. В чём затраты измеряются?
Если затраты измеряются с тактах CPU, то наименее затратный способ: объявить record и в нем описать необходимые поля.
Если затраты изменяются в объёме работы программиста (в том числе на отладку), то менее затратный: использовать SuperObjects (правда, в него не завезли многие типы данных), либо (внимание! реклама!) модуль ParamsUtils.pas . Использование вариантов я считаю более затратным, т.к. слишком легко ошибиться с индексом параметра и очень сложно отлаживать.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091682
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer

Если затраты изменяются в объёме работы программиста
ParamsUtils.pas .

Хм, объявлять параметры по именам руками, без Code Completion, без контроля ошибок... Экономия времени программиста налицо.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091685
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
DmSer

Если затраты изменяются в объёме работы программиста
ParamsUtils.pas .

Хм, объявлять параметры по именам руками, без Code Completion, без контроля ошибок... Экономия времени программиста налицо.


Так в Delphi кроме record и Variant ничего встроенного нету. На каждый случай объявлять новый record - то ещё удовольствие! От Variant вообще тошнит!
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091699
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer
На каждый случай объявлять новый record - то ещё удовольствие!

Вообще не вижу проблемы. Весь WinAPI на этом построен.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091701
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль, что даже с новыми инлайн переменными нельзя так сделать
Код: pascal
1.
2.
3.
  var si: TStartupInfo := (cb: 0);
  var pi: TProcessInformation := (cb: 0);
  CreateProcess(nil, nil, nil, nil, true, 0, nil, nil, si, pi);


или даже так
Код: pascal
1.
  CreateProcess(nil, nil, nil, nil, true, 0, nil, nil, (cb: 0), (cb: 0));
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091711
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antox
swame2
antox,

Не надо никаких хаков, указателей и других извратов. Объявить локальную переменную S:string и передавать туда.
За указатели в таких местах - гнать из професии.


Чем не нравится?


А за что мы боролись?
За сокращение длины кода? В результате нагородили забор из указателей вместо объявления одной однобуквенной переменной.
Это твой пример элементарный, а в рабочем коде таких параметров будет скорее всего несколько, и все это будет нечитаемо +
при может измениться число параметров, а вариант с указателем уже будет указывать на другу переменную, скомпеидится, а потом будет падать, причем это место может сразу не обнаружиться. Это как раз тот вариант конструкций, про который в С говорят "выстрел в ногу"
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091715
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal
Жаль, что даже с новыми инлайн переменными нельзя так сделать
или даже так
[/src]


Не понимаю чем плохо заполнить значения рекордов в паре строчек перед вызовом функции.
Все понятно и читаемо. А так все в одной строке - макаронине, при рефакторинге и сравнении версий изменений боль при
разборе какой параметр на каком месте и не перепутали ли порядок.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091731
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
antox
Может есть какие-то другие, менее затратные, способы вернуть несколько значений из функции?

Вернуть запись и использовать только нужные поля?..


Я предпочитаю именно этот способ.
Преимущества:
1. Очень часто набор параметров передается по цепочке методов. В моем проекте например, добавление нового параметра в цепочку вызовов могло повлечь изменения в сотнях виртуальных методов, в десятках модулей. Никому этим заниматься не хотелось, поэтому у разработчиков при необходимости был соблазн использовать нехорощие костыли, типа передачи через глобальную переменную, или использование какого-нибудь малоиспользуемого параметра в разных контекстах для разных параметров, с надеждой , что они не пересекутся.
В варианте с записью просто добавляем новое поле, заполняем где надо и вот оно уже везде в цепочке.
2. При наличии большого числа параметров в вызове при рефакторинге легко запутаться в порядке параметров, особенно если они однотипные, и как я уже писал. в сотнях методов, и набор и порядок параметров может быть разный, с каждым разбираться.
3. Скорость. запись почти всегда передается по ссылке как const или var.

Что будет много объявлений записей проблем не вижу, если нормально продумать, можно использовать одно объявление для нескольких схожих контекстов, не страшно если есть лишние поля, на скорость не влияет.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091734
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
DmSer

Если затраты изменяются в объёме работы программиста
ParamsUtils.pas .

Хм, объявлять параметры по именам руками, без Code Completion, без контроля ошибок... Экономия времени программиста налицо.


Неистово плюсую
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091738
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
record надо же объявить... Делаю так, если надо много значений вывести. Но частенько надо true/false + значение в примитивном типе. Хотелось бы вернуть что-то типа смешанного кортежа или пусть даже простой (лучше ассоциативный) массив
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091743
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
swame2
Не понимаю чем плохо заполнить значения рекордов в паре строчек перед вызовом функции.
Все понятно и читаемо. А так все в одной строке - макаронине, при рефакторинге и сравнении версий изменений боль при
разборе какой параметр на каком месте и не перепутали ли порядок.

Не плохо, просто сахар и сокращение визуального шума. Вообще львиная доля фич любого современного языка - это сахар, без которого можно обойтись.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
var rec: TSomeRec;
begin
  rec := Default(TSomeRec);
  rec.foo := 'lala';
  rec.bar := 123;
  rec.quz := false;
  func(rec);


Код: pascal
1.
2.
3.
4.
5.
6.
7.
begin
  var rec: TSomeRec := (
    foo: 'lala',
    bar: 123,
    quz: false
  );
  func(rec);
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091761
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal,

Да, вторая конструкция выглядит лучше, и согласен, если она предшествует вызову, а не находится внутри него, тогда она не противоречит тому о чем написал.
Еще лучше было бы, если бы ее можно было убрать в секцию объявления переменных, а не кода.
Я для такой инициализации обычно использую псевдоконструктор записи. Но там проблемка если параметров больше 2-4 - как я писал - с количеством параметров уже в конструкторе
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091771
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antox
record надо же объявить... Делаю так, если надо много значений вывести. Но частенько надо true/false + значение в примитивном типе. Хотелось бы вернуть что-то типа смешанного кортежа или пусть даже простой (лучше ассоциативный) массив


В чем проблема объявить record? при необходимости можно использовать и вложенные.

Не нужны для этого случая кортежи, поверь. потом будут лишние сложности в поддержке кода.
Нужен максимально строгий контроль компилятором типа параметров.
Вот тут предложили типа кортежа в ParamUtils. Я сам баловался таким псевдообобщением лет 20 назад, потом все это оказалось пшиком.
Но там это было более оправдано, потому что объекты протаскивались через COM объкектную модель, а там добавить параметр в устоявшийся код на 2 порядка сложней, чем добавить параметр в рекорд.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091801
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
DmSer
На каждый случай объявлять новый record - то ещё удовольствие!

Вообще не вижу проблемы. Весь WinAPI на этом построен.


Согласен. Я неверно описал цели ParamsUtils. Основная фишка не в том, что с его помощью можно вернуть несколько параметров, а в том, что можно вернуть произвольное количество параметров (либо передать в функцию произвольное количество параметров). А в этом случае к параметром удобнее всего обращаться по именам. Удобно использовать при организации взаимодействия между модулями (например при передаче данных из EXE в DLL), когда заранее все возможные параметры не предусмотришь. Это в 100 раз удобнее, чем использовать голый Variant.
При использовании record можно добиться такой же цели, но нужно передавать через указатель и в самом начале предусмотреть номер версии либо размер.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091813
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmSer
alekcvp
пропущено...

Вообще не вижу проблемы. Весь WinAPI на этом построен.


Согласен. Я неверно описал цели ParamsUtils. Основная фишка не в том, что с его помощью можно вернуть несколько параметров, а в том, что можно вернуть произвольное количество параметров (либо передать в функцию произвольное количество параметров). А в этом случае к параметром удобнее всего обращаться по именам. Удобно использовать при организации взаимодействия между модулями (например при передаче данных из EXE в DLL), когда заранее все возможные параметры не предусмотришь. Это в 100 раз удобнее, чем использовать голый Variant.
При использовании record можно добиться такой же цели, но нужно передавать через указатель и в самом начале предусмотреть номер версии либо размер.


Конечно, передавать record между EXE в DLL не годится. Мне часто приходится передавать данные и между двумя exe.
Мое решение на это случай - одинаковый record ( или объекты) на стороне EXE в DLL, при передаче он сериализуется в строку, например через JSON.
Обращение внутри каждого модуля к типизированным полям рекорда. Добавление параметра делается в 1 месте, где описан рекорд и его сериализация. Ваш ParamsUtils тоже можно использовать для сериалзициии, но для этого, как я понимаю, кода будет не меньше чем c JSON, но с JSON стандартней и быстрее. И можно передавать сколь угодно сложные структуры.
Мой подход частично взят с идей Remoting SDK (старой версии, без RTTI)
https://www.remotingsdk.com/ro/default.aspx.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091817
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
DmSer
пропущено...


Согласен. Я неверно описал цели ParamsUtils. Основная фишка не в том, что с его помощью можно вернуть несколько параметров, а в том, что можно вернуть произвольное количество параметров (либо передать в функцию произвольное количество параметров). А в этом случае к параметром удобнее всего обращаться по именам. Удобно использовать при организации взаимодействия между модулями (например при передаче данных из EXE в DLL), когда заранее все возможные параметры не предусмотришь. Это в 100 раз удобнее, чем использовать голый Variant.
При использовании record можно добиться такой же цели, но нужно передавать через указатель и в самом начале предусмотреть номер версии либо размер.


Конечно, передавать record между EXE в DLL не годится. Мне часто приходится передавать данные и между двумя exe.
Мое решение на это случай - одинаковый record ( или объекты) на стороне EXE в DLL, при передаче он сериализуется в строку, например через JSON.
Обращение внутри каждого модуля к типизированным полям рекорда. Добавление параметра делается в 1 месте, где описан рекорд и его сериализация. Ваш ParamsUtils тоже можно использовать для сериалзициии, но для этого, как я понимаю, кода будет не меньше чем c JSON, но с JSON стандартней и быстрее. И можно передавать сколь угодно сложные структуры.
Мой подход частично взят с идей Remoting SDK (старой версии, без RTTI)
https://www.remotingsdk.com/ro/default.aspx.


Расскажи подробнее, как гоняешь данные м-ду приложениями ч-з json? Через что передаешь и как информируешь приложение о поступлении данных? Гоняешь м-ду двумя приложениями или всегда есть промежуточный приложение-сервер?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091820
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
swame2
Еще лучше было бы, если бы ее можно было убрать в секцию объявления переменных, а не кода.

Да, локальные переменные почему-то нельзя так инитить, а было бы хорошо. С другой стороны, константные иниты локальных переменных - дело редкое, а переменные в ините язык вряд ли когда-то будет поддерживать.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091823
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antox,

Между DLL и приложением обмениваюсь через небольшой надор экспортированных фуккий.
Даныне передаются в виде пакетов конада (это имя метода) + параметры.
Это все упаковывается по спецификации JSON RPC.
https://ru.wikipedia.org/wiki/JSON-RPC

Между приложениями, в т.ч. по сети, такие же пакеты JSON + бинарные блоки ходят через транспорт ZeroMQ
https://zeromq.org
Архитектура используется разнае, и клиент - сервер, и точка - точка
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091824
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antox
record надо же объявить... Делаю так, если надо много значений вывести. Но частенько надо true/false + значение в примитивном типе. Хотелось бы вернуть что-то типа смешанного кортежа или пусть даже простой (лучше ассоциативный) массив

Код: pascal
1.
2.
3.
4.
5.
type
  TTuple<T1,T2> = record
    F1: T1;
    F2: T2;
  end;


?
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091828
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2

Да, это называется локальная переменная. В вызывающей фунции.

Не хотелось-бы поучать, все таки 35 лет стажа, но локальная переменная это то, что объявлено внутри блока. Что пришло из вне - в данном контексте не является локальной переменной.
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091833
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

Я и имел в виду под локальной эту r объявленную внутри блока.

Код: pascal
1.
2.
3.
4.
var
  r: string;
begin
  myf('Строка', r);
...
Рейтинг: 0 / 0
Как не передавать ничего в параметр по ссылке?
    #40091840
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal
antox
record надо же объявить... Делаю так, если надо много значений вывести. Но частенько надо true/false + значение в примитивном типе. Хотелось бы вернуть что-то типа смешанного кортежа или пусть даже простой (лучше ассоциативный) массив

Код: pascal
1.
2.
3.
4.
5.
type
  TTuple<T1,T2> = record
    F1: T1;
    F2: T2;
  end;


?


Не надо тут ничего обобщать через дженерики. Сделай простые типизированные рекорды.
Я за дженерики и очень даже использую. Но тут они не нужны.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как не передавать ничего в параметр по ссылке?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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