Announcement

Collapse
No announcement yet.

Objekte (hier das Queryobjekt) als Funktionsargument

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Objekte (hier das Queryobjekt) als Funktionsargument

    Ich stehe hier vor ein kleineres Problem und benötige etwas Schützenhilfe:

    Auf einer Form habe ich ein QueryControl gesetzt.

    Ich habe dann eine Unit erstellt, die im Wesentlichen alle Funktionen und Prozeduren zu Datenbank-Operationen aufnehmen soll.

    Jetzt ist es so, dass die Unit die ursprüngliche Query nicht kennt.
    Ich habe versucht, die Standardunit im Abschnitt Uses einzubinden, leider ohne Erfolg.

    Ich überlege mir zwei Alternativen:

    1. Ich übergebe einer Funktion, die in der Datenbank-Unit definiert ist, ein Objekt der Klasse TADOquery. Die kann ich aber nicht in der Funktion nicht nutzen, da das Objekt nicht die Query-spezifischen Eigenschaften kenn.

    2. Ich "veröffentliche" das QueryObjekt Anwendungsweit über alle Units und Formen.

    Ich weiss, das ich die Datenbank-Controls weiterverwenden kann, aber leider fehlt mir der Weg dazu. ops:

    Danke im Voraus

  • #2
    [highlight=pascal]
    Unit databasestuff;

    Interface;

    Procedure DatabaseAction(aquery:Txxxxquery);

    Implementation


    Procedure DatabaseAction(aquery:Txxxxquery);
    Begin
    aquery.open;
    end;

    end.


    Unit YourForm

    Type TYourForm:TForm
    myQuery : TxxxxQuery;
    .....
    End;

    YourForm:TYourForm;

    Implementation

    Uses Databasestuff;

    Procedure YourForm.Action
    Begin
    Databaseaction(myQuery)
    End;

    [/highlight]

    Viel Erfolg!
    Tino
    Ich habs gleich!
    ... sagte der Programmierer.

    Comment


    • #3
      Danke für den Hinweis. Leider hat e nicht so geklappt.. Ich habe jedoch als Präfix die Form, in der die Query eingebettet ist, angegeben. Und das funktionierte sehr gut...

      Code:
      Form1.ADOQuery.xx

      Comment

      Working...
      X