CBuilder 5 + DataSet
Call_Func(frmMain->DSTemp);
Вот код самой процедуры:
Call_Func(TADODataSet * DSOstatok)
{
//тут все нормально отрабатывает, а на строчке
DSTemp->CommandText = sql;
//кидает ошибку Access violation at address ....
//причем такая ошибка возникает при любом действии //с dataset'ом, даже при Close()
}
Стоит Builder 5 Update 1 и Builder 5 ADO Upgrade 1
Call_Func(DSTemp);
У меня была похожая проблема. Решилась она вот так
Call_Func(DSTemp);
А у меня немного сложнее: контрол находится на одной форме (frmMain), а функцию я вызываю с другой формы (frmOdin), как быть в такой ситуации?
А у меня немного сложнее: контрол находится на одной форме (frmMain), а функцию я вызываю с другой формы (frmOdin), как быть в такой ситуации?
А для чего TDataModule придуман?
А для чего TDataModule придуман?
Дело в том что я не пишу программу "с нуля", а переделываю ее, так что все это весьма проблематично....
Дело в том что я не пишу программу "с нуля", а переделываю ее, так что все это весьма проблематично....
Тогда тем более, хотя все конечно зависит от того как программа написана и сколько этой программы. Но в большинстве ситуаций получается что проще потихонечку переделать все правильно, чем извращаться с неправильным.
Тогда тем более, хотя все конечно зависит от того как программа написана и сколько этой программы. Но в большинстве ситуаций получается что проще потихонечку переделать все правильно, чем извращаться с неправильным.
Сделал DataModule, напихал туда все датасеты.... Теперь кидает Access violation при попытке обратиться к любому элементу на этом DataModule!
Тестовый проект в студию.
Я боюсь что студия пошлет меня с моим тестовым проектом на 5 мегов! :))) Короче вот любопытная деталь: скопировал тело функции в модуль формы, на которой находятся эти DataSetы - все заработало! Все чудесится и чудесится....
Я боюсь что студия пошлет меня с моим тестовым проектом на 5 мегов! :))) Короче вот любопытная деталь: скопировал тело функции в модуль формы, на которой находятся эти DataSetы - все заработало! Все чудесится и чудесится....
У меня есть большое подозрение, что на момент вызова функции соответствующая форма (или модуль данных) попросту не существуют в памяти.
Они где создаются? В коде программы или как Auto-create?
У меня есть большое подозрение, что на момент вызова функции соответствующая форма (или модуль данных) попросту не существуют в памяти.
Они где создаются? В коде программы или как Auto-create?
Форма существует! Я же ее вижу! :) Она загружается в самом начале программе и при ее выгрузке из памяти программа останавливается....
Кто они? Что ты имеешь ввиду? Формы?