![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE, Datasource
Grid auf Frame, TTable & DSource auf Form
Moin Moin liebe DPler ;)
hab folgendes Prob ... hab zwei Grids ... Das eine Grid stellt die MIT.DB dar und das andere die Ben.db ... die beiden Grids liegen auf nem Frame im Hauptprogramm ... der eigentliche Frame ist natürlich seperat in ner .pas datei ... ich hab mein Hauptprogramm in die "uses"-Liste mit aufgenommen, da auf meinem Hauptprogramm quasi alle Datenbanken liegen ... wenn ich nun von einem Grid die Proberty "Datasource" festlegen möchte, klappt dass wunderbar, und er zeigt mir noch vor der Laufzeit (quasi im Editiermodus) die Datensätze korrekt ohne jedes gemoser an. Sobald ich das Projekt compaliere, sind in beiden Grids keine Datensätze mehr vorhanden :( bzw. werden nicht angezeigt. ich muss dazu sagen dass ich nur ein feld anzeigen lasse, nämlich das Feld indem der Name gespeichert ist. So ... da ich die Datensätze von der Mit.db in die Ben.db kopieren möchte ist es natürlich äußert unvorteilhaft wenn ich keine Daten hab ^^ Des ganze soll so funktionieren ... Wenn ich auf den Button ">>" (Hinzufügen) klicke, dann soll folgendes getan werden ...
Delphi-Quellcode:
Wenn ich auf den Button "<<" (Entfernen) klicke, dann soll folgendes getan werden ...
fKundenTV.tBen.Edit; // Table im editier-modus setzen
fKundenTV.tBen.Insert; // Datensatz hinzufügen fKundenTV.tBen.FieldByName('Name').AsString := fKundenTV.tMIT.FieldByName('Name').AsString; //beim aktuellen Datensatz "Namen", der Ben.db zuweisen; fKundenTV.tBen.FieldByName('Branche').AsString := fKundenTV.tMIT.FieldByName('Branche').AsString; //beim aktuellen Datensatz "Branche", der Ben.db zuweisen; fKundenTV.tBen.Post; // Das ganze speichern
Delphi-Quellcode:
Ich brauch deshalb ne ausgelagerte Table, weils ne eigene Table für den "Endscreen gibt" ... in der dann auch ne Bilder Slideshow zu finden ist.
if fKundenTV.tBen.FindNext = False then
begin fKundenTV.tBen.Delete; // aktuellen Datensatz aus Ben.db Löschen end; Könnt ihr evtl. tipps geben wie ich dem Problem auf die Schliche kommen könnte? des Prob is halt ich krieg auch keine Fehlermeldung oder sonstiges, nur wenn ich versuch nen datensatz zu löschen wenn keiner mehr vorhanden ist :D aber des lässt sich mit ner schönen if abfrage und TFieldByName regeln. tHx für Eure Posts |
Re: Grid auf Frame, TTable & DSource auf Form
Hallo,
nimm deine MainForm wieder aus der Uses-Anweisung deines Frames heraus. Die DataSource deiner Grids darfst du nicht in der Frame-Vorlage setzen. Diese Verknüpfung gehört in die Instanz, die du in deine MainForm eingebettet hast. Grüße vom marabu |
Re: Grid auf Frame, TTable & DSource auf Form
Mhm ... ok ;)
Aber könntest du mir erklären wo der unterschied liegt wenn ich über meine von der Frame über meine Mainform aus auf die Instanz zugreife? leuchtet mir noch ned wirklich ein ^^ Aber danke schonmal für die Hilfe ;) werds gleich ma ausprobieren ;) Komischerweise hat ich dass Prob gestern mit RAD Studion 2007 nicht ... in der Arbeit mit Delphi 7 hingegen schon ... auch irgendwie komisch ... vllt. auch nur glück ... vllt liegts auch daran dass dass nicht mein Programm is, sondern ich nur für nen arbeitskollegen erweiter :P |
Re: Grid auf Frame, TTable & DSource auf Form
Hallo,
ein Frame ist sowas wie eine ChildForm als Template - du sollst da keine unnötigen Abhängigkeiten hinein schreiben. Durch die Aufnahme einer bestimmten Form über USES tust du aber genau das. Das unterschiedliche Verhalten von D7 und RAD Studio scheint mir nicht produktspezifisch zu sein. Ich vermute eher abweichende Pfade im Dateisystem. Freundliche Grüße |
Re: Grid auf Frame, TTable & DSource auf Form
mhm okay ;)
Aber wie verhält sichs dann mit Programmcode? Das dürfte quasi nichts anhaben wenn ich den in den einzenen frames niederschreibe oder? |
Re: Grid auf Frame, TTable & DSource auf Form
Aber natürlich darf dein Frame Code enthalten, du darfst auch Units einbinden. Nur die feste Kopplung deines Frames an die später aufnehmende Form ist problematisch - und macht ja auch keinen Sinn.
Als Daumenregel würde ich dir empfehlen: Verknüpfe (USES) deinen Frame nur mit Units, die nicht mit deinem Projekt zusammen übersetzt werden. Dein Code in der Frame-Unit ist völlig unkritisch, wenn er in sich abgeschlossen ist. Ist eine Außenkommunikation - z.B. mit der aufnehmenden Form - notwendig, so kannst du die Verbindung zur Laufzeit und von der Form aus einrichten. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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 by Thomas Breitkreuz