Форум: "Базы";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
ВнизПочему после того как я ввожу Connection String внутри программы Найти похожие ветки
← →
IGORYOK (2003-11-06 16:01) [0]Почему после того как я ввожу Connection String внутри программы - притом такой-же как с помощью билдера - моя программа виснет со StackOverflow. Потом пока не удалишь модуль из проекта при загрузке Дельфи будет появляться - Закрыть всё нафиг от Windowsa. Вопрос почему? При том ремарка - на одной проге это получилось, а на всех остальных не прошло -???????????
← →
Eugene1501 (2003-11-06 16:07) [1]Наверное что-то зацикливается. Посмотри внимательно на обработу событий TConnection.
← →
sniknik (2003-11-06 16:08) [2]проверь код, строки с 17-й по ... а до конца. особое внимание обрати на код в обработчиках событий т.к. в одном из них ты вызываеш метод который егоже (это событие) генерит.
← →
IGORYOK (2003-11-06 16:17) [3]unit DMod;
interface
uses
SysUtils, Classes, DB, ADODB, Dialogs, Forms;
type
TDM = class(TDataModule)
ADOCon: TADOConnection;
TapesT: TADOTable;
PerfT: TADOTable;
AllSongsT: TADOTable;
TapesDS: TDataSource;
PerfDS: TDataSource;
AllSongsDS: TDataSource;
AllSongsTNumOfTape: TIntegerField;
AllSongsTNameOfSong: TWideStringField;
TapesTNumOfTape: TAutoIncField;
TapesTCasNum: TIntegerField;
TapesTPerfName: TWideStringField;
TapesTAlbumName: TWideStringField;
TapesTYearPresentation: TIntegerField;
TapesTPlace: TWideStringField;
PerfTPerNameShort: TWideStringField;
AllSongsTIDPesna: TAutoIncField;
procedure AllSongsTAfterPost(DataSet: TDataSet);
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var DM: TDM;
implementation
uses MainF;
{$R *.dfm}
procedure TDM.AllSongsTAfterPost(DataSet: TDataSet);
begin
if DataSet.FieldByName("NumOfTape").IsNull then begin
DataSet.Edit;
DataSet.FieldByName("NumOfTape").AsInteger:=TapesT.FieldByName("CasNum").AsInteger;
DataSet.Post;
end;end;
procedure TDM.DataModuleCreate(Sender: TObject);
begin
ADOCon.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source="+ ExtractFilePath(Application.ExeName)+"Data\mainbase2000.mdb;Mode=Share Deny None;";
TapesT.Active:=true;PerfT.Active:=true;
AllSongsT.Active:=true;
end;
Это всё что там есть!
Естественно по Data\mainbase2000.mdb находиться база
Просто раньше для удобства там стоял стринг автоматически чтобы можно было удобно компилить - потом заменил и опаньки, так главно в другой проге сделал так же и нормально, а здесь даже Дельфи валиться. Может это защитный механизм ADO
← →
bushmen (2003-11-06 16:18) [4]>IGORYOK ©
Вам еще не надоело задавать бессмысленные вопросы?
← →
sokohigh (2003-11-06 17:23) [5]Попробуй что-нибудь, типа этого, может станет яснее:
with ADOConnection1 do
try
Connected := false;
ConnectionString := "...";
Connected := true;
except
on E:Exception do ShowMessage(E.Message);
end
;
← →
IGORYOK (2003-11-06 17:24) [6]Программа DELPHI32 вызвала сбой при обращении к странице памяти
в модуле ADORTL60.BPL по адресу 017f:40667785.
Регистры:
EAX=05c19a8c CS=017f EIP=40667785 EFLGS=00010202
EBX=4066cd07 SS=0187 ESP=00db0000 EBP=00eaf704
ECX=0000000d DS=0187 ESI=00db1f08 FS=34b7
EDX=40058920 ES=0187 EDI=00eaf6e8 GS=0000
Байты по адресу CS:EIP:
e8 ee ff ff ff c3 90 55 8b ec 6a 00 6a 00 6a 00
Содержимое стека:
4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a 4066778a
Вот что появляется при загрузке проекта.
Значит дело в инициализации
Скажите неужели у Вас такого не происходило?
← →
IGORYOK (2003-11-06 17:25) [7]sokohigh (06.11.03 17:23) [5]
я не могу подобное вписать потому- что сам проект не могу открыть
← →
sokohigh (2003-11-06 17:33) [8]попробуй переименовать mdb, или в dfm-е скинь свойство Connected у ADOConnection
← →
sniknik (2003-11-06 17:42) [9]> Это всё что там есть!
а ничего больше и не надо.
procedure TDM.AllSongsT AfterPost(DataSet: TDataSet);
begin
....
DataSet. Post;
end;
(хотя позволю себе не согласится, там еще должно быть "end." как минимум)
← →
IGORYOK (2003-11-06 17:45) [10]Я понял в чём дело оказывается Active стоял True и он пытался загрузить базу без ConnectionString при инициализации. И это приводило к такому
Алилуя Я опять люблю весь мир у Вас ребята Спасибо за всё
← →
jazz (2003-11-06 17:48) [11]я очень извиняюсь но у меня была такая проблема просто в самом начале на потасить ADOCon.ConnectionString:=эFILE NAME="+ а затем писать все остальное
← →
jazz (2003-11-06 17:48) [12]я очень извиняюсь но у меня была такая проблема просто в самом начале на потасить ADOCon.ConnectionString:=FILE NAME="+ а затем писать все остальное
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c