Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Unit aus anderer Unit verwendet
Das S - Fr 23.04.04 18:01
Titel: Unit aus anderer Unit verwendet
Hi,
ich habe versucht, eine Unit zu schreiben, die eine Datenbankverbindung herstellt. Diese Unit wiederrum soll durch eine andere verwendet werden durch übergabe des Datenbankverzeichnisses. Hier der Code der Unit, die die Verbindung herstellen soll:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,db,ADODB;
procedure dbconnect(verzeichnis:widestring);
implementation
procedure dbconnect(verzeichnis:widestring); var typecon:TADOconnection; begin try typecon.ConnectionString:=''; typecon.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+verzeichnis+';Persist Security Info=False'; typecon.LoginPrompt:=false; typecon.Connected:=true; application.MessageBox('Test erfolgreich','Hinweis',64); except application.MessageBox('DATENBANKVERBINDUNG ZUR DATENBANK NICHT ERFOLGREICH','Hinweis',16);
end; end;
end. |
Hier der Code, der die Unit2 verwendet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, StdCtrls, DB, ADODB, unit2;
type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin unit2.dbconnect('e:\SOURCECODE\VERWALTUNG\DB\bla.mdb'); end;
end. |
Vielleicht noch eines: Das ist meine erste unit die ich schreibe. Bitte habt verständnis, wenn es nicht so gut ist, wie es sein sollte. Und bitte nicht so eine ultrakurze Antwort. :oops:
Liebe Grüße
Steffen
Moderiert von
Peter Lustig (18:03, 23.04.2004): Delphi-Tags hinzugefügt
Moderiert von
Peter Lustig (18:29, 23.04.2004): Großschreibung in Titel beruhigt
Christian S. - Fr 23.04.04 18:04
Hallo!
Bitte ändere den Titel des Topics da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Delphi-Forum.de Richtlinien:
| Richtlinien hat folgendes geschrieben: |
1.1 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]
|
Einfach oben bei deinem ersten Beitrag auf "Edit" klicken und den Titel ändern. Dank Dir!
Gruß Peter Lustig
raziel - Fr 23.04.04 18:15
du warst zwar nicht grad redselig was dein problem angeht, aber dank eines kleinen blickes in meine zauberkugel dürfte klar sein, was das problem is... 8)
probier doch einfach mal zunächst deine TADOConnection zu createn:
Delphi-Quelltext
1:
| typecon := TADOConnection.Create(self); |
und am ende wieder freigeben:
natürlich macht das wenig sinn, erst zu connecten und dann gleich wieder zu disconnecten (free), deshalb solltest du noch mindestens die funktion "Disconnect" einbauen. Dazu müsstest du typecon in der unit2 global deklarieren...
ich hoff die antwort war dir nich zu kurz ;-)
raziel
//edit: btw kannst du das "unit2." vor "dbconnect" weglassen, es sei denn es gibt noch eine unit mit der funktion dbconnect!
Das S - Fr 23.04.04 18:43
Vielen Dank, kann mir jetzt noch einer verraten, wie ich zum Beispiel diesen Verbindungsstring in einem ADOTABLE anbringen kann. So geht es jedenfalls nicht: adotable1.connection:=unit2.dbconnect;
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!