AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

AdoConnection in DLL

Ein Thema von RootGrapefruit · begonnen am 17. Sep 2013 · letzter Beitrag vom 17. Sep 2013
Antwort Antwort
RootGrapefruit

Registriert seit: 17. Sep 2013
13 Beiträge
 
Delphi 6 Professional
 
#1

AdoConnection in DLL

  Alt 17. Sep 2013, 10:36
Moin,
ich möchte eine AdoConnection in einer DLL verwenden.
Wenn ich ein DatenModul an die DLL anbinde und über
Delphi-Quellcode:
  
OpenDatabase:=true;
  try
    ADOConnection1.Open;
  except
    OpenDatabase:=false;
  end;
aufrufe, wird die Verbindung nicht hergestellt.

Was mache ich falsch bzw. kann ich die AdoConnection zur Laufzeit nur über die DLL erstellen und verwenden?

Danke für eure Hilfe
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 10:51
Du das Verschlucken der Exception nimmst du dir jede Möglichkeit die Fehlermeldung zu Gesicht zu bekommen:
Delphi-Quellcode:
OpenDatabase:=true;
try
  ADOConnection1.Open;
except
  OpenDatabase:=false;
  // niemand wird je erfahren was in der Message der Exception gestanden hat
end;
Lass das try...except einfach weg.
fork me on Github
  Mit Zitat antworten Zitat
RootGrapefruit

Registriert seit: 17. Sep 2013
13 Beiträge
 
Delphi 6 Professional
 
#3

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 11:06
Achso ja so hab ich das davor versucht

'Zugriffsverletzung bei Adresse 004D10BC in Modul 'ISAPI_DLL.dll'. Lesen von Adresse 000000058.'

Danach hab ich auch schon geguckt, hab aber keine Lösung gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 11:17
Sicherlich ist deine ADOConnection1 = NIL, d.h. es fehlt ein create.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
RootGrapefruit

Registriert seit: 17. Sep 2013
13 Beiträge
 
Delphi 6 Professional
 
#5

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 12:14
Also wenn ich vor der Verbindung ein
AdoConnection1.Create(self); schreibe kommt die gleiche Fehlermeldung schon beim create.
Im Create Ereignis des DataModuls wird  AdoConnection1.Create(self); gar nicht erst aufgerufen bzw die Exception kommt wieder genau wie vorher beim Öffnen der Connection.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 12:20
Ein Konstruktor ist eine Klassenmethode, es muss

AdoConnection1 := TAdoConnection.Create(self); heissen!
Markus Kinzler
  Mit Zitat antworten Zitat
RootGrapefruit

Registriert seit: 17. Sep 2013
13 Beiträge
 
Delphi 6 Professional
 
#7

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 14:33
Ah OK Danke jetzt sagt er mir beim Erstellen der ADO Connection 'CoInitialize wurde nicht aufgerufen'.
Ich habe schon OleInitialize(nil); direkt vor dem Create und im Create Ereignis des DataModuls ausprobiert.

Edit: Beim Aufrufen direkt vor der Erstellung der ADO Connection kommt wieder die alte Fehlermeldung:
'Zugriffsverletzung bei Adresse 004F8B00 in Modul 'test.dll'. Schreiben von Adresse 0000000058.'

Geändert von RootGrapefruit (17. Sep 2013 um 14:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 14:50
Du sagst, Du benutzt ein DataModul, evtl. solltest du dieses createn und nicht nur die ADOConnection.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
RootGrapefruit

Registriert seit: 17. Sep 2013
13 Beiträge
 
Delphi 6 Professional
 
#9

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 14:59
Kannst du mir noch sagen wie und wo ich das Createn soll?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: AdoConnection in DLL

  Alt 17. Sep 2013, 15:07
So in etwa:

Delphi-Quellcode:
unit DMMyDataModule;
interface
 ...
type
   TMyDataModule = class(TDataModule)
     ...
   end;

var
   MyDataModule: TMyDataModule;
   
implementation
 ...
initialization
   MyDataModule := TMyDataModule.Create(nil);
finalization
   MyDataModule.Free;
end;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz