Avatar billede agg-zeus Nybegynder
25. marts 2004 - 08:49 Der er 2 kommentarer og
1 løsning

Sessions uden DBTables

Er det ikke muligt at bruge sessions i Delphi som man gør i f.eks. PHP eller ASP ? Altså så det ikke er knyttet til en database, men det bare er en konstant der bliver sat og som så kan kaldes fra alle forms ?
Avatar billede hrc Mester
25. marts 2004 - 09:55 #1
Jeg kender ikke et hak til PHP eller ASP, men for mig lyder "konstanten" som om det er et objekt man tilgår - og så ligner det noget Delphisk.

Man har jo en TDataModule hvorpå man kan placere databasefunktionaliteten. Den kan inkluderes i alle de forme der har brug for dem. Det er en ret almindelige tilgang.

Et alternativ er, at de forme du åbner, har en overstyret constructor hvor man smider den db-tingest med som parameter:

type
  TMyForm = class(TForm)
  ..
    procedure OnButtonClick(Object: TOBject);
  private
    fDBTable : TDBtable;
  public
    constructor Create(aOwner : TComponent; aDBTable : TDBTable); reintroduce;
  end;

implementation

constructor TMyForm.Create(aOwner : TComponent; aDBTable : TDBTable);
begin
  inherited Create(aOwner); // Kald overstyret constructor
  fDBTable := aDBTable; // Gem den så man har adgang til den i hele formen.
end;

procedure TMyForm.OnButtonClick(Object: TOBject);
begin
  fDBTable.Edit;
  try
    fDBTable.FieldByName('Navn').AsString := 'Hans';
  finally
    fDBTable.Post;
  end;
end;

Så har du adgang til de samme
Avatar billede agg-zeus Nybegynder
01. april 2004 - 08:43 #2
jeg er rimelig noob i Delphi, og forstår ikke noget af det du svarer... Er der ikke en anden måde... ?
Avatar billede hrc Mester
01. april 2004 - 15:56 #3
Når nu mit svar var et gæt på hvad du mente, så er vi vist på herrens mark - jeg aner derfor ikke om der er andre måder på noget som jeg ikke kan få bekræftet var det rigtige gæt.

Har du prøvet at smække en database-komponenterne på et TDataModule og så inkludere, <alt-f11> det (datamodulet), de steder hvor du har brug for det?

Overstyring af en constructor er en basal og simpel metode til at føre objekter (læs: en pointer til et objekt) med over via en constructor.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester