| Начало » Программирование » Delphi » Вопрос по реализации Переход к форуму:
	| 
		
			| Вопрос по реализации  [сообщение #5300] | Tue, 30 July 2024 20:21  |  
			| 
				
				
					|  sashaua01 Сообщений: 26
 Зарегистрирован: July 2022
 | Junior Member |  |  |  
	| Подскажите пожалуйста возможно спрошу глупость, и много. Есть в апликации интеграция с службами доставки. Классы служб доставки наследуются от общего предка.
 
 есть метод который создает через через API отправление
case delivery_service of
ppl: delivery_service:=TPPLApiClient.Create(api_key);
dpd: delivery_service:=TDPDApiClient.Create(user_name,user_password); 
 SQL
 
 package_info это record с набором необходимых полей для создания отправления. На основе етих дынных создается JSON для отправки POST запроса.
delivery_service.create_dispatch_number(package_info)
Каждая служба доставки имеет разный набор данных который необходим для создания отправления. В зависимости от выбраной службы доставки пользователем, в рантайме создаются необходимые контролы для заполнения данных отправления. Введенные данные записываются в record package_info. как правильно без костылестроение делать порверку на то какие контролы сейчас созданы и с каких контролов записывать данные. например ppl 8 едитов для dpd создаються 12 едитов, проверять создан ли каждый едит? Или есть более правильное решение, за ранее благодарю.
 |  
	|  |  |  
	| 
		
			| Re: Вопрос по реализации  [сообщение #5301 является ответом на сообщение #5300] | Wed, 31 July 2024 03:43   |  
			| 
				
				
					|  fraks Сообщений: 152
 Зарегистрирован: June 2022
 Географическое положение: Новосибирск
 | Senior Member |  |  |  
	| Я бы сделал раздельные формы для каждой службы доставки. Или многостраничную форму, без ярлыков страниц, и для каждой службы по странице.
 
 Если уж создавать контролы динамически - то тупо удалял бы все что было и создавал весь список контролов заново.
 
 Если форма не уничтожается между вызовами, то можно сделать поле-признак, под какую службу был сделан список контролов, но совершенно не факт что это хоть чем-то будет лучше/быстрее, чем если создавать заново.
 
 [Обновления: Wed, 31 July 2024 03:48] Известить модератора |  
	|  |  |  
	| 
		
			| Re: Вопрос по реализации  [сообщение #5304 является ответом на сообщение #5301] | Thu, 01 August 2024 16:14  |  
			| 
				
				
					|  МП Сообщений: 889
 Зарегистрирован: August 2022
 Географическое положение: бурятский тун...
 | Senior Member |  |  |  
	| для каждой "службы доставки" создавай своего наследника. ибо хаос не подлежит автоматизации.
 |  
	|  |  | 
 
 
 Текущее время: Fri Oct 31 02:57:03 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00696 секунд |