Pointerman Geschrieben 10. März 2004 Teilen Geschrieben 10. März 2004 Hi! Ich möchte ein ClientDataset in einem Programm verwenden. Dieses ClientDataSet soll Daten sammeln, die aus einer ASCII-Datei extrahiert werden. Diese sollen dann später irgendwann in eine Andere Datei geschrieben werden. Das ClientDataset soll also nur als Puffer dienen. Ich habe nicht vor mit irgendwelchen graphischen Komponenten darauf zuzugreifen, d.h. ich bräuchte doch keine DataSource. Wenn ich jetzt die Felddefinitionen fertig habe und mit open öffnen will um Datensätze anzuhängen bekomme ich eine Fehlermeldung: "Missing data provider or data packet". Irgendwelche Ideen was ich da falsch mache? Hab' gerade ein Brett vorm Kopf! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 10. März 2004 Teilen Geschrieben 10. März 2004 Du brauchst einen TDataSetProvider, den stellst du im ClientDataSet unter ProviderName ein. Zu finden unter... überleg, hab Delphi gerade nicht hier... Datensteuerung glaub ich. Wie das TDataSet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 10. März 2004 Autor Teilen Geschrieben 10. März 2004 (Danke erstmal), denn es funzt noch nicht ganz! Also den Dataset Provider habe ich mir mal angeguckt und so wie ich das verstanden habe, liefert der Provider doch Daten aus einer Datenquelle an das ClientDataset. Als ich das ClientDataset mit dem Provider verbunden hab und hernach versuchte es zu öffnen, kam eine Fehlermeldung: "Missing DataSet". Ich denke mal, daß diese Meldung vom Provider kommt, weil ihm noch das Dataset fehlt, das er "providen" soll. Aber des will ich doch gar nicht. Ich will doch nur das es läuft! Ok, wer weiß rat? Es steht diese Lobkönig zur Verlosung --->:bimei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 11. März 2004 Autor Teilen Geschrieben 11. März 2004 So, für alle die es interessiert: Ich hab eine Lösung gefunden. Der Lobkönig geht also an mich! Meiner --->:bimei Lösung: Man braucht keinen Provider um das ClientDataset zu benutzen. Ich hatte nur einen Fehler beim erstellen der Felddefinitionen gemacht: Felder nicht mit ClientDataset.Fielddefs.Add hinzufügen, denn zum erstellen des Clientdataset mit Cientdataset.CreateDataset hat das so nicht hingehauen. Die Felddefinitionen müssen mit oDataset.FieldDefs.AddFieldDef hinzugefügt werden(ist auch toll in der Hilfe erklärt:rolleyes: ). Dann klappt es auch mit CreateDataset. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 12. März 2004 Teilen Geschrieben 12. März 2004 Ok, war wohl nicht ganz das was du wolltest Hab damit auch nur wenig gemacht bis jetzt. Allerdings hab ich es (wenn ich es gemacht hab) folgendermassen gemacht: Ein Doppelklick auf das ClientDataSet öffnet den Feld-Editor. Dort wählst du im PopUpMenu "Neues Feld" aus und kannst so deine Felder alle anlegen. Die Felder sind Datenfelder (Feldtyp: Daten). Danach kommt das von dir genennate "Dataset erzeugen" - wieder rechtsklick auf das ClientDataSet, und dann nochmal ein rechtsklick und dort wählen "In MyBase..." speichern. Damit wird eine Tabelle angelegt in einer Datei (XML, XML-UTF8 oder binär). Mit LoadFromFile kannst du dann zur Laufzeit immer wieder diese Felddefinitionen einlesen (wenn keine Daten vorhanden sind). (oder per Property fieldName wenn die Datei immer dieselbe ist) diese füllst du dann ganz normal aber musst sie ja nicht speichern, sondern kannst tun damit was du willst. Hatte erst jetzt wieder Delphi hier und konnte mir das nochmal ansehen. EDit: Also so kann man es zur Designzeit alles definieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.