Каква е разликата?

4 отговора 179 прегледа
#1

Каква е разликата?

Да декларираш един .pas file в

implementation

uses dbs, dbs2;

или в

unit dbs2;

interface

uses
dbs;


Да речем става дума за dbs.

По принцип става и по двата начина , но кои е по правилния?

Отговор
в отговор на Bьпpoc #2

Re: Каква е разликата?

Ами разликата е очевидна - декларираш ли го горе - дефинициите на декларирания модул ще са достъпни в дефинициите на текущия!!! Т.е. ако имаш класове които се наследяват от друг модул - трябва да го сложиш в интерфейсната част.
Ако обаче модула се използва само в имплементацията - по добре да стои долу - това спестява по няколко KB - поне по моите наблюдения.
Има едно елементарно правило (което може да ти оптимизира кода) - просто си слагай в uses-a САМО неща които ползваш - а това дали са в интерфейсната част или в имплементацията - зависи от "областта на видимост" на дефинициите която искаш да постигнеш.

---
Колкото повече, толкова повече.
Отговор
в отговор на PhantomAS #3

Re: Каква е разликата?

Мерси за отговора

Значи аз понеже използвам модула (да речем dbs) само в имплементацията, си слагам всичко там и както казваш само което ползвам.Обаче гледам колегата ги слага и в interface и в implementation обаче малко безразборно.Затова се питам наистина колко ли се пести ако се слагат в implementation.

Отговор
в отговор на PhantomAS #4

Re: Каква е разликата?

Нещо не мога да ти отворя Web site.Работи ли? Или е само шега?

Отговор
в отговор на Bьпpoc #5

Re: Каква е разликата?

Не е шега. Написал е ask me, което значи "попитай ме"...


Отговор