AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBKomponente POST/CANCEL Events?
Thema durchsuchen
Ansicht
Themen-Optionen

DBKomponente POST/CANCEL Events?

Ein Thema von Gruber_Hans_12345 · begonnen am 30. Jun 2008 · letzter Beitrag vom 30. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#1

DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 13:48
Datenbank: egal • Version: egal • Zugriff über: egal
Ich schreibe mir gerade eine Komponente, die per TFieldDataLink mit einem DataSource verbunden wird.
Nun muß ich beim speichern und so, in einer anderen Datenbank SQL Aktionen ausführen, aber ich finde weder ein Event, noch ein property, mit dem ich feststellen kann, das der USer ein POST oder CANCEL Ereignis ausführt.
Ich sehe nur den aktuellen Zustand der DataSource ...

Gibt es da was anderes? Oder wie komme ich zu den Events in der Komponente?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 13:53
Hallo,

im DataSource nicht, aber im dort festgelegten Dataset.

Die Events sind im übrigen lokal,
wenn auf einem anderen Rechner mit dem gleichen Dataset (Tabelle) was gemacht wird,
bekommst du das nicht mit.


Heiko
Heiko
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 14:10
aber, wie kann ich VON der Komponente darauf zugreifen?

ich mache eine Art von TDBComboBox, die aber beim POST Ereignis der DataSource noch spezielle Sachen ausführen muß.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 14:20
DataSource != DataSet
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 14:24
Hi,

dafür ist IMHO OnEditingChange von TFieldDatalink zuständig.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#6

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 14:28
Zitat von mkinzler:
DataSource != DataSet
ja klar ...

aber, wie gesagt, ich möchte gerne eine DB Komponente designen, die ich dann auf mein Form ploppe, den DataSource und den Feldnamen auswähle
Das ändern, speichern und co, funktioniert ja mit dem TFieldDataLink ja ganz toll, aber nun muß ich in dieser Komponente, beim speichern der DataSource (wird natürlich die DataSet gespeichert) noch extra Sachen ausführen.
Man bekommt ja die events OnEditingChange, aber leider weiss man da nicht, ob es wegen POST oder CANCEL oder was weiss ich ist.
nun müsste ich im DataSet ein Flag setzen, und dieses dann im OnEditingChange des TFieldDataLink abfragen, nur möchte ich das ganze so Global wie möglich halten.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 14:39
Hallo,

TFieldDatalink hat ja sogar ein DataSet als Property.

Erzeuge also ein Ereignismethode für das gewünschte DataSet Event
(AfterCancel, BeforeCancel oder was du auch willst).

Etwa so.

Delphi-Quellcode:
type
  TMyComponent = class

    procedure MyEvent of Object;
  end;

und irgendwo
  Self.DataSet.OnBeforeCancel:= MyEvent;

Zu Events war letzte Woche ne Menge getippert worden.


Heiko
Heiko
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#8

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 14:48
Zitat von hoika:
Hallo,

TFieldDatalink hat ja sogar ein DataSet als Property.

Erzeuge also ein Ereignismethode für das gewünschte DataSet Event
(AfterCancel, BeforeCancel oder was du auch willst).

Etwa so.

Delphi-Quellcode:
type
  TMyComponent = class

    procedure MyEvent of Object;
  end;

und irgendwo
  Self.DataSet.OnBeforeCancel:= MyEvent;

Zu Events war letzte Woche ne Menge getippert worden.


Heiko

Geht das nicht anders?
So muß ich mir ja dann die letzen Events merken (dieses Events werden natürlich schon verwendet), ich brauche nun sowas wie einen FieldDataLink, nur der mir Infos über den DataSet gibt.
Wie man Evernts generell verwendet ist mir klar, nur ist es natürlich nicht schön in einer Komponente, die man dann ja auch 3 mal auf das Form geben kann, jedesmal auf das Event des DataSet zuzugreien, das wird mir dabei übel, wenn ich das wirklich so lösen müsste ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 15:12
Hallo

und irgendwo
Self.DataSet.OnBeforeCancel:= MyEvent;

sollte heissen "und irgendwo in deiner Komponente".

Also nicht an mehreren Stellen.

Natürlich sollte deine Komponente vor dem Setzen von

OnBeforeCancel:= MyEvent

den alten Event-Handler speichern und ihn vor deinem oder
nach deinem eigenen Handler aufrufen.


Das ganze ist aber immer nur einmal (in deiner Komponente) vorhanden.


Heiko
Heiko
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#10

Re: DBKomponente POST/CANCEL Events?

  Alt 30. Jun 2008, 15:17
Zitat von hoika:
Hallo

und irgendwo
Self.DataSet.OnBeforeCancel:= MyEvent;

sollte heissen "und irgendwo in deiner Komponente".

Also nicht an mehreren Stellen.
Ist mir schon klar, nur verwende ich diese meine neue Komponente dann mehrmals auf einem Formular

Zitat von hoika:
Natürlich sollte deine Komponente vor dem Setzen von

OnBeforeCancel:= MyEvent

den alten Event-Handler speichern und ihn vor deinem oder
nach deinem eigenen Handler aufrufen.

Das ganze ist aber immer nur einmal (in deiner Komponente) vorhanden.

Heiko
Bedeutet aber dann, das ich hier (für DB Komponenten) eine sonderlösung habe, die eben manuell auf die Events der DataSet zugreifen muß, und nicht mehr alles per DataLink und co handeln kann.

Das Problem ist deshalb, da ich zur Laufzeit auch die Events ändern kann (da läuft eine Script Engine und Formulareditor mit, und der bekommt dann probs, wenn jemand anders als die Scriptengine diese Events verwendet ... )
deshalb wollte ich eine Standardlösung machen, die mit den Defaultmitteln von Delphi DB Komponenten auskommt, und nicht ein eigenes Süppchen kochen, aber wenns nicht anders geht, muß ich wohl oder übel mit Flags arbeiten
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz