169 похожих чатов

Решила объвить праздник непослушания и сделать совместимость двух версий

программы. В одной поле в таблицах это константный Kind, а в другом код из справочника. Говорила шефу, что ерунда получиться и вот уже больше месяца обновления выложить не могу. Даже компоненты выбора получаются разными: одна почти обычный комбобокс, а другая понавороченней выбор из справочника. Обкладываю ifdef`ами и уже сейчас видно, что изменений будет достаточно много. Делаю на 7ке. Может не вижу простой путь?
Уже наплодилось и это только начало:
{$ifdef KfgTarifRef}
TKfgTarifEdit = class(TSKFldRefLookup)
{$else}
TKfgTarifEdit = class(TSKFldLookup)
private
FTcField: string;
{$endif}
private
function GetTcField: string;
procedure SetTcField(AValue: string);
public
procedure ResizeWidth;
property TcField: string read GetTcField write SetTcField;
end;

function EKfgTarifCodeCreate(AParent: TWinControl; AName: string;
ALeft, ATop, AWidth, AHeight: integer;
ALabel: TLabel; ATabOrder: integer;
ADataSource: TRecSource; AFieldName, ATcField: string): TKfgTarifEdit;

7 ответов

25 просмотров

выбор из справочника как делается (связь с данными) - простой селект? выбирай "константный Kind" тоже селектом

Катерина-Свиридова Автор вопроса
Iluha Companets
выбор из справочника как делается (связь с данными...

Ну не совсем простой селект, но мысль такая была. Делать временную таблицу при первом обращении. Остановило, что если коннекшен попортиться, то везде где джоиниться эта талица будет слом. И как-то рука не поднимается делать лишний join, где можно обойтись списком каиндов. Обдумаю еще разок плюсы-минусы. Спасибо

Катерина Свиридова
Ну не совсем простой селект, но мысль такая была. ...

не, не временная таблица, а простая заглушка типа select 1 as id union select 2 as id union ... текст которой можно генерить в паскале

Катерина-Свиридова Автор вопроса
Iluha Companets
не, не временная таблица, а простая заглушка типа ...

Можно и так попробовать. Загвоздка в том что kind уникален только в пределах транспортной компании, в отличии от кода. Смотрю

Катерина Свиридова
Можно и так попробовать. Загвоздка в том что kind ...

По закону сохранения сложности - она никуда не денется. Но я бы тоже свёл задачу к предыдущей/одно/без ifdef, на уровне программы.

Катерина-Свиридова Автор вопроса
Alexey Gavrilov
По закону сохранения сложности - она никуда не ден...

Без ifdef не обойтись, но похоже можно обойтись одной компонентов, вроде позволяет

Похожие вопросы

Обсуждают сегодня

Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Где закоментить или что то прописать?
Alibek Кulseitov 🇰🇿
7
Карта сайта