Einzelnen Beitrag anzeigen

BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#1

Probleme mit Initialisierung (Fehlende Connection)

  Alt 6. Dez 2009, 12:01
Datenbank: SQL-Server, Absolute DB • Version: 2008, 6.05 • Zugriff über: ADO, SDAC (devart), Absolute DB
Hallo zusammen,

ich kämpfe seit einigen Tagen (!) mit einem ziemlich heftigen Problem. Habe zuerst an Fehler in Komponenten gedacht. Kann das Ganze aber mit ADO, SDAC oder Absolute DB reproduzieren.

Folgende Situation (Delphi 2010):

1. Hauptformular (main.pas)
2. Datenmodul (dmmain.pas)
3. Formular (edit.pas, wird nicht automatisch initialisiert --> Projekt/Optionen/Verfügbare Formulare)

Das Hauptprogramm ist eigentlich nur da, um das Formular zu initialiseren (Create, ShowModal, Free...).

Das Datenmodul enthält nur eine Connection (TADOConnection, alternativ TMSConnection oder TABSDatabase).

Im Formular ist eine Table-Komponente (TADOTable oder TMSTable oder TABSTable).

Ich setze im Datenmodul die Verbindung sowie die Table auf aktiv. Sobald ich das Programm starte kommt eine Fehlermeldung die besagt, dass die Verbindung fehlt. Bei ADO beispielsweise "Fehlende Connection oder ConnectionString". Bei den anderen Komponenten (SDAC oder ABSDB) kommen in etwa die gleichen Fehlermeldungen. Die Meldung kommt bereits bevor(!) die erste Programmzeile des Hauptprogramms ausgeführt wird.

Bei ADO sieht "Details" wie folgt aus:

Code:
[5067E82C]{dbrtl140.bpl} DB.DatabaseError (Line 2885, "DB.pas" + 3) + $E
[50CFFD65]{adortl140.bpl} ADODB.TADOCommand.OpenConnection (Line 3242, "ADODB.pas" + 10) + $12
[50CFFC7C]{adortl140.bpl} ADODB.TADOCommand.SetConnectionFlag (Line 3217, "ADODB.pas" + 6) + $11
[50D008FD]{adortl140.bpl} ADODB.TCustomADODataSet.SetConnectionFlag (Line 3525, "ADODB.pas" + 1) + $A
[50D00996]{adortl140.bpl} ADODB.InitializeConnection (Line 3547, "ADODB.pas" + 9) + $B
[50D00CAD]{adortl140.bpl} ADODB.TCustomADODataSet.OpenCursor (Line 3592, "ADODB.pas" + 3) + $1
[50690C6D]{dbrtl140.bpl} DB.TDataSet.SetActive (Line 11303, "DB.pas" + 12) + $7
[506907F3]{dbrtl140.bpl} DB.TDataSet.Loaded (Line 11146, "DB.pas" + 3) + $13
[50D008C3]{adortl140.bpl} ADODB.TCustomADODataSet.Loaded (Line 3515, "ADODB.pas" + 2) + $3
[50063410]{rtl140.bpl } Classes.NotifyGlobalLoading (Line 3072, "Classes.pas" + 3) + $B
[20DB9783]{designide140.bpl} ComponentDesigner.TComponentRoot.CreateFromStream (Line 2196, "ComponentDesigner.pas" + 10) + $0
[20DBC8A9]{designide140.bpl} ComponentDesigner.TComponentRoot.Resurrect (Line 3381, "ComponentDesigner.pas" + 11) + $6
[10C2726F]{DataSetManager140.bpl} Dsmclasses.TComponentList.BuildComponentList + $B3
[50010AB0]{rtl140.bpl } System.@IntfClear (Line 21928, "System.pas" + 7) + $0
[10C259C2]{DataSetManager140.bpl} Dsmclasses.TDataSetList.GetDsListFromModule + $BA
[10C1F178]{DataSetManager140.bpl} Dsmclasses.TDataSetList.BuildDataSetList + $25C
[10C1FC25]{DataSetManager140.bpl} Dsmclasses.TDataSetList.Resurrect + $19
[10C545EA]{DataSetManager140.bpl} Dsmtoolwindow.TDsmToolWindow.ChangeDataSetListState + $3E
[10C5349D]{DataSetManager140.bpl} Dsmtoolwindow.TDsmToolWindow.FormShow + $11
[502BEBE9]{vcl140.bpl } Forms.TCustomForm.DoShow (Line 3589, "Forms.pas" + 1) + $14
[502C3175]{vcl140.bpl } Forms.TCustomForm.CMShowingChanged (Line 6211, "Forms.pas" + 11) + $7
[20D806D5]{designide140.bpl} DeskForm.TDesktopForm.CMShowingChanged (Line 791, "DeskForm.pas" + 1) + $0
[50295DFC]{vcl140.bpl } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[502A2EE0]{vcl140.bpl } Controls.TDockTree.WndProc (Line 15238, "Controls.pas" + 74) + $5
[5032319B]{vcl140.bpl } CaptionedDockTree.TCaptionedDockTree.WndProc (Line 249, "CaptionedDockTree.pas" + 28) + $0
[502A27C8]{vcl140.bpl } Controls.TDockTree.WindowProc (Line 14982, "Controls.pas" + 1) + $6
[50295A20]{vcl140.bpl } Controls.TControl.Perform (Line 6840, "Controls.pas" + 10) + $8
[5029D3B9]{vcl140.bpl } Controls.TWinControl.CMInvalidate (Line 11772, "Controls.pas" + 3) + $13
[50295DFC]{vcl140.bpl } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[5029A6C0]{vcl140.bpl } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[502BF58C]{vcl140.bpl } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[50295A20]{vcl140.bpl } Controls.TControl.Perform (Line 6840, "Controls.pas" + 10) + $8
[50299B09]{vcl140.bpl } Controls.TWinControl.UpdateShowing (Line 9463, "Controls.pas" + 19) + $C
[50299A9E]{vcl140.bpl } Controls.TWinControl.UpdateShowing (Line 9454, "Controls.pas" + 10) + $10
[50299C18]{vcl140.bpl } Controls.TWinControl.UpdateControlState (Line 9498, "Controls.pas" + 21) + $3
[5029C7CA]{vcl140.bpl } Controls.TWinControl.CMVisibleChanged (Line 11239, "Controls.pas" + 3) + $2
[50295DFC]{vcl140.bpl } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[5029D403]{vcl140.bpl } Controls.TWinControl.CMInvalidate (Line 11779, "Controls.pas" + 10) + $4
[50295DFC]{vcl140.bpl } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[502AE121]{vcl140.bpl } ImgList.TCustomImageList.GetCount (Line 583, "ImgList.pas" + 1) + $E
[5029A6C0]{vcl140.bpl } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[50064180]{rtl140.bpl } Classes.TList.SetCapacity (Line 3597, "Classes.pas" + 5) + $9
[50063F0B]{rtl140.bpl } Classes.TList.Grow (Line 3435, "Classes.pas" + 7) + $4
[50063CFF]{rtl140.bpl } Classes.TList.Add (Line 3343, "Classes.pas" + 3) + $4
[5029A6C0]{vcl140.bpl } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[50295A20]{vcl140.bpl } Controls.TControl.Perform (Line 6840, "Controls.pas" + 10) + $8
[5029443A]{vcl140.bpl } Controls.TControl.SetVisible (Line 5880, "Controls.pas" + 5) + $C
[20D79969]{designide140.bpl} TabDock.TTabDockInfo.SetActive (Line 253, "TabDock.pas" + 1) + $5
[20D7AE88]{designide140.bpl} TabDock.TTabDockHostForm.DockTabClick (Line 956, "TabDock.pas" + 8) + $2
[50296367]{vcl140.bpl } Controls.TControl.Click (Line 7178, "Controls.pas" + 9) + $8
[503266BD]{vcl140.bpl } Tabs.TTabList.Delete (Line 593, "Tabs.pas" + 26) + $7
[20D798C2]{designide140.bpl} TabDock.TTabDockInfo.RemoveTab (Line 217, "TabDock.pas" + 7) + $E
[20D798D5]{designide140.bpl} TabDock.TTabDockInfo.RemoveDockClient (Line 224, "TabDock.pas" + 1) + $2
[20D7A9F1]{designide140.bpl} TabDock.TTabDockHostForm.DoRemoveDockClient (Line 770, "TabDock.pas" + 17) + $2
[50293CA0]{vcl140.bpl } Controls.TControl.Dock (Line 5599, "Controls.pas" + 30) + $D
[502BFF32]{vcl140.bpl } Forms.TCustomForm.Dock (Line 4292, "Forms.pas" + 3) + $4
[502956B5]{vcl140.bpl } Controls.TControl.ManualFloat (Line 6703, "Controls.pas" + 9) + $C
[50293F02]{vcl140.bpl } Controls.TControl.ClientToScreen (Line 5687, "Controls.pas" + 1) + $6
[502954FB]{vcl140.bpl } Controls.TControl.ManualDock (Line 6657, "Controls.pas" + 17) + $5
[5029BCA9]{vcl140.bpl } Controls.TWinControl.GetDockClients (Line 10621, "Controls.pas" + 1) + $E
[20D7DC9E]{designide140.bpl} BaseDock.TBaseDockHostForm.UndockAllClientsAndSelf (Line 319, "BaseDock.pas" + 6) + $F
[207FDF5C]{coreide140.bpl} Desktop.CreateDockHostWindows (Line 1288, "Desktop.pas" + 47) + $2
[50068225]{rtl140.bpl } Classes.TStringList.Create (Line 5789, "Classes.pas" + 2) + $6
[207FBE69]{coreide140.bpl} Desktop.LoadDeskState (Line 609, "Desktop.pas" + 18) + $3
[207FF046]{coreide140.bpl} Desktop.TDesktopState.Load (Line 1688, "Desktop.pas" + 5) + $3
[207FE923]{coreide140.bpl} Desktop.TDesktopStates.LoadDesktop (Line 1515, "Desktop.pas" + 4) + $6
[207FEA84]{coreide140.bpl} Desktop.TDesktopStates.LoadRuntimeDesktop (Line 1572, "Desktop.pas" + 9) + $D
[207FEC5E]{coreide140.bpl} Desktop.TDesktopStates.ProcessCreated (Line 1601, "Desktop.pas" + 4) + $3
[208A2328]{coreide140.bpl} DebuggerMgr.TProcessEvent.Send (Line 663, "DebuggerMgr.pas" + 2) + $14
[208A5BD5]{coreide140.bpl} DebuggerMgr.TDebuggerMgr.ProcessCreated (Line 2074, "DebuggerMgr.pas" + 12) + $7
[206484FA]{dbkdebugide140.bpl} Debug.TDebugger.NotifyProcessCreated (Line 10144, "Debug.pas" + 2) + $18
[20D8CDA5]{designide140.bpl} ToolUtils.ForEach (Line 90, "ToolUtils.pas" + 5) + $F
[206479D5]{dbkdebugide140.bpl} Debug.TDebugger.InitNewProcess (Line 9817, "Debug.pas" + 7) + $22
[2064A31A]{dbkdebugide140.bpl} Debug.TDebugger.DoCreateProcess (Line 10665, "Debug.pas" + 30) + $6
[2064A440]{dbkdebugide140.bpl} Debug.TDebugger.CreateProcess (Line 10685, "Debug.pas" + 6) + $2B
[2064B04A]{dbkdebugide140.bpl} Debug.TDebugger.Run (Line 11109, "Debug.pas" + 51) + $2D
[2064B7F2]{dbkdebugide140.bpl} Debug.TDebugger.Run (Line 11365, "Debug.pas" + 72) + $37
[2064655E]{dbkdebugide140.bpl} Debug.TDebugger.Run (Line 9276, "Debug.pas" + 0) + $2
[208A4CF1]{coreide140.bpl} DebuggerMgr.TDebuggerMgr.Run (Line 1721, "DebuggerMgr.pas" + 4) + $F
[50075663]{rtl140.bpl } Classes.TBasicAction.Execute (Line 12512, "Classes.pas" + 3) + $7
[502B182D]{vcl140.bpl } ActnList.TContainedAction.Execute (Line 448, "ActnList.pas" + 8) + $2C
[502B2608]{vcl140.bpl } ActnList.TCustomAction.Execute (Line 1094, "ActnList.pas" + 7) + $8
[50075527]{rtl140.bpl } Classes.TBasicActionLink.Execute (Line 12441, "Classes.pas" + 2) + $7
[502801B4]{vcl140.bpl } Menus.TMenuItem.Click (Line 2518, "Menus.pas" + 17) + $7
[50281BFF]{vcl140.bpl } Menus.DoClick (Line 3602, "Menus.pas" + 41) + $4
[50281CEB]{vcl140.bpl } Menus.TMenu.IsShortCut (Line 3655, "Menus.pas" + 38) + $6
[0041EEC1]{bds.exe    } bds.bds (Line 200, "" + 8) + $1572
[502C4594]{vcl140.bpl } Forms.TCustomForm.IsShortCut (Line 6902, "Forms.pas" + 2) + $16
[5029CB1C]{vcl140.bpl } Controls.TWinControl.IsMenuKey (Line 11440, "Controls.pas" + 13) + $C
[5029CB69]{vcl140.bpl } Controls.TWinControl.CNKeyDown (Line 11455, "Controls.pas" + 5) + $4
[50295DFC]{vcl140.bpl } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[502BF58C]{vcl140.bpl } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[502CA3C5]{vcl140.bpl } Forms.TApplication.DispatchAction (Line 10966, "Forms.pas" + 9) + $A
[50295A20]{vcl140.bpl } Controls.TControl.Perform (Line 6840, "Controls.pas" + 10) + $8
[502CA3C5]{vcl140.bpl } Forms.TApplication.DispatchAction (Line 10966, "Forms.pas" + 9) + $A
[502C7BDA]{vcl140.bpl } Forms.TApplication.WndProc (Line 9371, "Forms.pas" + 97) + $E
[20D7C74E]{designide140.bpl} DeskUtil.SetFocusHook (Line 454, "DeskUtil.pas" + 4) + $C
[50076360]{rtl140.bpl } Classes.StdWndProc (Line 13014, "Classes.pas" + 8) + $0
[5029A6C0]{vcl140.bpl } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[20EB26FF]{vclide140.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 359, "IDEInspListBox.pas" + 7) + $4
[50299D60]{vcl140.bpl } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50076360]{rtl140.bpl } Classes.StdWndProc (Line 13014, "Classes.pas" + 8) + $0
[502C8464]{vcl140.bpl } Forms.TApplication.IsKeyMsg (Line 9687, "Forms.pas" + 25) + $12
[502C84F2]{vcl140.bpl } Forms.TApplication.IsHintMsg (Line 9707, "Forms.pas" + 2) + $10
[502C8725]{vcl140.bpl } Forms.TApplication.ProcessMessage (Line 9778, "Forms.pas" + 24) + $32
[502C878E]{vcl140.bpl } Forms.TApplication.HandleMessage (Line 9814, "Forms.pas" + 1) + $4
[502C8AB9]{vcl140.bpl } Forms.TApplication.Run (Line 9951, "Forms.pas" + 26) + $3
[0043094A]{bds.exe    } bds.bds (Line 200, "" + 8) + $12FFB
Nachdem das Programm dann beendet wird ist Tabelle dann im Formular nicht mehr aktiv...

Hat irgendeiner eine Idee, was da schief läuft? Bin am Verzweifeln. Habe keine Idee mehr wo ich noch suchen soll.

Wäre für jeden Tipp dankbar.

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat