Начало » Программирование » Delphi » Вопрос по реализации  
	
		
		
			| Вопрос по реализации  [сообщение #5300] | 
			Tue, 30 July 2024 20:21   | 
		 
		
			
				
				
				
					
						  
						sashaua01
						 Сообщений: 26 Зарегистрирован: July 2022 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Подскажите пожалуйста возможно спрошу глупость, и много. 
Есть в апликации интеграция с службами доставки. Классы служб доставки наследуются от общего предка. 
case delivery_service of
ppl: delivery_service:=TPPLApiClient.Create(api_key);
dpd: delivery_service:=TDPDApiClient.Create(user_name,user_password); 
  
есть метод который создает через через API отправление  
 
SQL 
delivery_service.create_dispatch_number(package_info)
  
package_info это record с набором необходимых полей для создания отправления. На основе етих дынных создается JSON для отправки POST запроса. 
Каждая служба доставки имеет разный набор данных который необходим для создания отправления. В зависимости от выбраной службы доставки пользователем, в рантайме создаются необходимые контролы для заполнения данных отправления. Введенные данные записываются в 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  | 
					 | 
		 
		 
	 | 
 
	
		для каждой "службы доставки" создавай своего наследника. 
ибо хаос не подлежит автоматизации.
		
		
		
 |  
	| 
		
	 | 
 
 
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 10:21:10 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00763 секунд 
 |