BillyBoy84 Geschrieben 7. Juni 2004 Geschrieben 7. Juni 2004 Ich hab ein Programm geschrieben in Delphi und auch eine Datenbank erstellt, funktioniert auch alles super! Nur wenn ich das Programm wo anders starten will, als von meinem Rechner, denn kommt die Fehlermeldung, dass er den Pfad d:/Programm _delphi/Fragenkatalog.db nichz findet! Ich habe aber im Programm keinen Pfad angegeben, wo könnte der nun stehen oder wie kann ich den ändern? Zitieren
grueni Geschrieben 7. Juni 2004 Geschrieben 7. Juni 2004 Ich nehme mal an, du arbeitest mit einer Paradox-DB und TTable und TDatasource. Was hast du da unter DatabaseName angegeben ? Wenn es so ist, wie ich vermute, mußt du den Pfad in der BDE einstellen. Zitieren
TAZttDevil Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 jupp.. du musst entweder die DB in der BDE auf dem jeweiligen Rechner registrieren, oder in deinem Prog im DB.name den pfad mit angeben... z.B. "./database/tolldb.db", dann erwartet er die DB im Unterverzeichnis database deines Programmverzeichnisses... Zitieren
BillyBoy84 Geschrieben 22. Juni 2004 Autor Geschrieben 22. Juni 2004 Jetzt bekomme ich noch folgende Fehlermeldung: Im Projekt Projekt1.exe ist eine Exception der Klasse EDatabaseError aufgetreten! Meldung 'Table1: Opaeration bei geschlossener Datenmenge nicht ausführbar' Prozeß wurde angehalten! Mit einzelne Anweisung oder Start fortsetzen! Das Programm hatte an meinem Rechner funktioniert, nur woanders treten Fehler auf :-( Zitieren
grueni Geschrieben 23. Juni 2004 Geschrieben 23. Juni 2004 Folgende Angaben wären interessant: a)Welche DB-Komponenten verwendest du? (TTable?) b)An welcher Stelle im Code kommt diese Fehlermeldung Allein mit der Meldung kann man nix anfangen. Normalerweise hat da Delphi aber recht: Du versuchst was an einer geschlossenen Datenmenge zu ändern, wie es aussieht. Zitieren
BillyBoy84 Geschrieben 23. Juni 2004 Autor Geschrieben 23. Juni 2004 Genau, benutze TTable und die Fehlermeldung kommt, wenn ich das Programm starte! Wo der Fehler ist wird mir nicht angezeigt! Das ist mein Quelltext in der Unit: procedure TForm4.AntwortAClick(Sender: TObject); Begin Antwort:=table1.FieldByName('Loesung').AsString; //Lösung überprüfen If Antwort=AntwortA.Caption then //Vergleich von Lösung und Antwort Begin Antwort:= 'True'; Showmessage('Die Antowrt ist richtig'); end else Begin Antwort:= 'False'; Showmessage('Die Antowrt ist falsch'); end; //AntwortA.Checked:=False; Spielbrett.show; //Öffnet wieder Spiel table1.First; for id:=0 to random(anzahl) do //ruft neue Frage auf Begin table1.Next; end; close; end; procedure TForm4.AntwortBClick(Sender: TObject); Begin Antwort:=table1.FieldByName('Loesung').AsString; If Antwort=AntwortB.Caption then Begin Antwort:= 'True'; Showmessage('Die Antowrt ist richtig'); end else Begin Antwort:= 'False'; Showmessage('Die Antowrt ist falsch'); end; //AntwortB.Checked:=False; Spielbrett.show; table1.First; for id:=0 to random(anzahl) do Begin table1.Next; end; close; end; procedure TForm4.AntwortCClick(Sender: TObject); Begin Antwort:=table1.FieldByName('Loesung').AsString; If Antwort=AntwortC.Caption then Begin Antwort:= 'True'; Showmessage('Die Antowrt ist richtig'); end else Begin Antwort:= 'False'; Showmessage('Die Antowrt ist falsch'); end; //AntwortC.Checked:=False; Spielbrett.show; table1.First; for id:=0 to random(anzahl) do Begin table1.Next; end; close; end; procedure TForm4.AntwortDClick(Sender: TObject); Begin Antwort:=table1.FieldByName('Loesung').AsString; If Antwort=AntwortD.Caption then Begin Antwort:= 'True'; Showmessage('Die Antowrt ist richtig'); end else Begin Antwort:= 'False'; Showmessage('Die Antowrt ist falsch'); end; //AntwortD.Checked:=False; Spielbrett.show; table1.First; for id:=0 to random(anzahl) do Begin table1.Next; end; close; end; procedure TForm4.FormCreate(Sender: TObject); begin randomize; id:=0; anzahl:=table1.recordCount; for id:=0 to random(anzahl) do Begin table1.Next; end; end; procedure TForm4.DataSource1DataChange(Sender: TObject; Field: TField); begin anzahl:=Table1.RecordCount; end; end. Zitieren
grueni Geschrieben 23. Juni 2004 Geschrieben 23. Juni 2004 Mal ne doofe Frage: Wo wird Table1 eigentlich geöffnet? Setz mal nen Haltepunkt auf die Zeile "anzahl:=table1.recordCount;" im FormCreate. Schau dir mal den Aufruf-Stack an...das sollte doch rauszufinden sein, wo genau das Prog aussteigt, ich vermute mal es macht beim RecordCount "Peng". Zitieren
FINF2 Geschrieben 4. Juli 2004 Geschrieben 4. Juli 2004 Hast du die BDE auf dem anderen Rechner installiert? Wenn nicht wird es auch nicht funktionieren. Die Borland Datbase Engine muß auf dem jeweiligen Rechner installiert sein. Zitieren
Uruz Geschrieben 24. August 2004 Geschrieben 24. August 2004 aloha meine bescheidene meinung: kann es sein, dass du zur Entwurfszeit im Objektinspektor deine "Datenbankkomponenten" geöffnet hast ? das funktioniert dann an deinem rechner in der Regel sehr gut vor allem aus Delphi heraus... schliesse sie im Objektinspektor und im Ereignis OnFormShow kannst du ja reinhängen: if not Table.Connected then Table.Open; ... oder so ähnlich Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.