02 февруари, 2010

Проблем с липсващи DataSet данни в DBGrid таблица

Махането и добавянето на DataModule към Delphi проект може да ви създаде доста главоболия. Както се казва, това може се се окаже доста tricky.

Поради ред причини може да се наложи да преименувате/махнете/добавите DataModule към даден Delphi проект. На мен ми се наложи, понеже в Project Group имах два проекта, всеки със собствен DataModule, които бяха с еднакви имена. Това ми създаде проблем при debug - отваряше се грешния файл, а при следващо компилиране се изгубиха всички DataSource от DBGrid, тъй като, много ясно, в грешния DataModule тези DataSource не съществуват.

След това падна едно преименуване, махане, слагане, махане, слагане... В следствие на което всички DBGrid, които вземаха от този DataModule спряха да показват данни. Всички DataSource и DataSet от там се активират успешно, но уви - в таблиците не се показва нищо. След цял ден лутане из source и отново преименуване, махане и слагане на DataModule, най-случайно забелязах причината.

В проекта присъстваше създаването на този DataModule 2 пъти - Application.CreateForm(TSBaza, SBaza); И това, понеже формите ги създавам през един ProgressBar, а Delphi решава да ми го добави още един път в началото! Много нетактично от негова страна.

Та, да се има едно наум: ако слагате DBGrid, а даните вътре не се показват, въпреки че сте активирали усшено DataSource, проверете дали случайно нямате създадени два идентични DataModule.

Няма коментари: