![]() |
Datenbank: so weit kommt es nicht • Zugriff über: noch gar nicht
IBDAC-Demo funktioniert nicht
Hallo,
ich habe endlich mal Zeit gefunden, IBDAC auszuprobieren. Besser gesagt: Ausprobieren wäre schön gewesen, stattdessen habe ich das Installationsprogramm runtergeladen, den ganzen Kram installiert und dann versucht, mir mal das Demo-Programm IbDacDemo.bdsproj anzusehen. Dabei kommt gleich am Anfang der Fehler: Zitat:
TIBCTransaction TIBCScript (2x) TIBCConnectDialog Beim Übersetzen kommt folgende Fehlermeldung: Zitat:
Danach kommen die selben Meldungen für IbDacForm.scCreate IbDacForm.IBCTransaction IbDacForm.IBCConnectDialog IbDacForm.IBCConnection Anschließend wird das Programm anstandslos übersetzt, und der Trial-Screen erscheint. Danach kommt eine "Benachrichtigung über Debugger-Exception" EAccessViolation bei Adresse .... Schreiben von Adresse 00000044 Dann meldet sich das Programm. Dass aber dann nichts geht, ist eigentlich klar! Weder Connect noch sonst was ... Hat jemand schon ähnliche Erfahrungen gemacht? Woran kann das liegen? Was muss man tun? Evtl. nur eine Unit in der uses-Klausel vergessen oder falsch geschrieben?? Oder liegt das an speziellen Eigenheiten der Turbo-Explorer-Variante? |
Re: IBDAC-Demo funktioniert nicht
Zitat:
|
Re: IBDAC-Demo funktioniert nicht
In Turbo Delphi Explorer kannst Du keine Komponenten in der IDE installieren. Abhilfe kann es aber schaffen, wenn Du dessen Bibliothekspfad um das Verzeichnis zu den IBDAC-Komponenten erweiterst. Allerdings musst Du die Demo dann immer noch dahingehend umschreiben, dass Du die benötigten Komponenten zur Laufzeit erzeugst.
|
Re: IBDAC-Demo funktioniert nicht
Na, toll!
Unter einer Demo verstehe ich eigentlich was anderes! Dass ich meine Komponenten selber erzeugen muss, weiß ich natürlich, hätte aber gedacht, dass sie für eine Demo schon fertig erzeugt werden. Den Pfad zu den IBDAC-Komponenten hat die Installationsroutine bereits eingetragen. Was also tun? In der Unit steht folgendes:
Delphi-Quellcode:
Wenn ich mit der Maus über die TIBCConnection fahre, zeigt sich ein Hinweis
type
TIbDacForm = class(TDemoForm) IBCConnection: TIBCConnection; IBCTransaction: TIBCTransaction; scCreate: TIBCScript; scDrop: TIBCScript; IBCConnectDialog: TIBCConnectDialog; ... "TIBCConnection - IBC.TIBCConnection" Das Teil ist also bekannt! Wenn ich noch ein bisschen genauer nachforsche, finde ich, dass die Quellen IbDacDemoForm.pas und IbDacDemoForm.dfm in IbDacDemo\Base\ liegen. In IbDacDemoForm.dfm wiederum findet sich ein Teil
Delphi-Quellcode:
Wenn ich mir aber in der IDE die Form ansehe, fehlt genau dieser Teil.
object IBCConnection: TIBCConnection
DefaultTransaction = IBCTransaction ConnectDialog = IBCConnectDialog Left = 553 Top = 8 end object IBCTransaction: TIBCTransaction DefaultConnection = IBCConnection DefaultCloseAction = taCommit Left = 552 Top = 41 end object scCreate: TIBCScript SQL.Strings = ( 'CREATE TABLE DEPT (' ' DEPTNO INTEGER NOT NULL PRIMARY KEY,' ' DNAME VARCHAR(14),' ' LOC VARCHAR(13)' ');' '' etc. etc. Aber nicht nur das ist seltsam! Am Anfang des Formulars steht in der Originaldatei:
Delphi-Quellcode:
In der IDE wurde daraus:
inherited IbDacForm: TIbDacForm
Width = 1036 Height = 503 Caption = 'InterBase Data Access Components demos' TextHeight = 13 inherited TVSplitter: TSplitter Height = 377 Color = 6369932 end inherited MainPanel: TPanel Width = 809 Height = 377 inherited pnDemo: TPanel Width = 809 Height = 377 end inherited pnSource: TPanel Width = 809 Height = 377 end end etc. etc.
Delphi-Quellcode:
inherited IbDacForm: TIbDacForm
Caption = 'InterBase Data Access Components demos' ClientHeight = 476 ClientWidth = 1028 ExplicitWidth = 1036 ExplicitHeight = 503 PixelsPerInch = 96 TextHeight = 13 inherited TVSplitter: TSplitter Height = 387 Color = 6369932 ExplicitHeight = 377 end inherited MainPanel: TPanel Width = 809 Height = 387 ExplicitWidth = 809 ExplicitHeight = 387 inherited pnDemo: TPanel Width = 809 Height = 387 ExplicitWidth = 809 ExplicitHeight = 387 end inherited pnSource: TPanel Width = 809 Height = 387 ExplicitWidth = 809 ExplicitHeight = 387 end end Was macht da Delphi beim Einlesen??? |
Re: IBDAC-Demo funktioniert nicht
Zitat:
|
Re: IBDAC-Demo funktioniert nicht
Eigentlich hatte ich keine Frage zum Sinn des Lebens bzw. zur Organisation desselben gestellt.
Stattdessen hätte ich gerne Tipps zu einem etwas merkwürdigen technischen Problem. Wieso verändert die IDE den Quelltext des Formulars und meckert danach über eben diese Veränderung? |
Re: IBDAC-Demo funktioniert nicht
Weil TDE eben mit Absicht so ausgelegt wurde. Dann schau Dir doch die Original-dfm in Ruhe an, erzeuge die Kompos zur Laufzeit und stell sie enstsprechend der Vorgaben aus der dfm ein (die optischen Dinge wie Width, Left etc. kannst Du natürlich gleich weglassen).
|
Re: IBDAC-Demo funktioniert nicht
Zitat:
Wo kommen insbesondere die Einträge ExplicitHeight etc. her, und wieso werden einzelne Werte auch verändert? Oder kommt das einfach daher, dass die Form von TDemoForm abgeleitet ist? Und noch was: Er meckert folgendes an: "Unit-Name 'CRDBGrid' kann nicht aufgelöst werden" In der .dpr wird diese aber folgendermaßen angegeben:
Delphi-Quellcode:
und genau dort befindet sie sich auch.
{$IFDEF CRDBGRID}
CRDBGrid in 'CRDBGrid\CRDBGrid.pas' {CRDBGridFrame}, {$ENDIF} |
Re: IBDAC-Demo funktioniert nicht
Zitat:
Zitat:
|
Re: IBDAC-Demo funktioniert nicht
Zitat:
Zitat:
Hat sich aber auf sehr seltsame Weise erledigt: Ich habe es mit // auskommentiert und direkt danach wieder aktiviert (also nicht compiliert und auch sonst nix dazwischen), und siehe da, simsalabim ... kein Gemecker mehr! Weiß der Geier, wieso! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz