/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Create...suk...
Fra : Thomas Eg Jørgensen


Dato : 06-10-03 21:32

Hej

Jeg forsøger at skrive et objekt til at pakke alle mine database-kald ind i,
men jeg kan simpelthen ikke få det til at virke. Jeg har prøvet på alle
tænkelige måder, uden held...

I får et dump af koden fra objectet her:

type
TDatabaseObject = class
Private
protected
Session: TDBISAMSession;
public
constructor Create(Owner: TComponent);
end;

implementation


constructor TNC_DatabaseObject.Create(Owner: TComponent);
begin
inherited Create; // Initialize inherited parts
showmessage('1');
Session.Active:=false;
showmessage('2');
Session.AutoSessionName:=true;
showmessage('3');
Session.SessionType:=stRemote;
showmessage('4');
end;



Og et dump fra mit test-program:

Var
MinDBA:TDatabaseObject ;

procedure TForm1.Button2Click(Sender: TObject);
begin
MinDBA.Create(application);
end;

Når jeg trykker på min knap så får jeg besked1 men derefter kommer der en
"access-violation". Jeg troede at "Session" automatisk blev oprettet når den
blev defineret som ovenfor, men det måtte jo ikke være tilfældet så jeg
prøvede at indsætte:

Session := TDBISAMSession.Create(Owner);

lige før Showmessage('1');

Men stadig samme fejl....Hvad er det liiiiiiiiiiiige jeg gør forkert her?

MVH
Thomas




 
 
Thomas Eg Jørgensen (07-10-2003)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 07-10-03 06:48

> type
> TDatabaseObject = class
^^^^^^^^^^^^^^^
[klip]

>
> constructor TNC_DatabaseObject.Create(Owner: TComponent);
^^^^^^^^^^^^^^^^^^

De skal selvfølgelig passe sammen, det var mig der klippede og klistrede
lidt for hurtigt da jeg skrev indlægget. I koden står det rigtigt....

MVH
Thomas



Ukendt (07-10-2003)
Kommentar
Fra : Ukendt


Dato : 07-10-03 12:00

"Thomas Eg Jørgensen" <thomas@kontorbutikken.dk> wrote in message
news:blsjg9$alr$1@sunsite.dk...
>
> Var
> MinDBA:TDatabaseObject ;
>
> procedure TForm1.Button2Click(Sender: TObject);
> begin
> MinDBA.Create(application);
> end;

Det her skal du i alle fald rette. Om resten er OK, har jeg ikke
checket:
MinDBA:= TDatabaseObject.Create(application);

hilsen
Uffe


Thomas Eg Jørgensen (07-10-2003)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 07-10-03 15:29


"Uffe Kousgaard" <look_at_www.routeware.dk> wrote in message
news:3f829c8a$0$83067$edfadb0f@dtext01.news.tele.dk...
> > Var
> > MinDBA:TDatabaseObject ;
> >
> > procedure TForm1.Button2Click(Sender: TObject);
> > begin
> > MinDBA.Create(application);
> > end;
>
> Det her skal du i alle fald rette. Om resten er OK, har jeg ikke
> checket:
> MinDBA:= TDatabaseObject.Create(application);
>

SUK!....ja....det første man bliver blind på, er som bekendt, øjnene!

Mange tak for hjælpen!

MVH
Thomas



René Allan Larsen (07-10-2003)
Kommentar
Fra : René Allan Larsen


Dato : 07-10-03 18:38

In article <blsjg9$alr$1@sunsite.dk>, Thomas Eg Jørgensen wrote:
> From: "Thomas Eg Jørgensen" <thomas@kontorbutikken.dk>
> Newsgroups: dk.edb.programmering.pascal
> Subject: Create...suk...
> Date: Mon, 6 Oct 2003 22:32:11 +0200
>
> Hej
>
> Jeg forsøger at skrive et objekt til at pakke alle mine database-kald ind i,
> men jeg kan simpelthen ikke få det til at virke. Jeg har prøvet på alle
> tænkelige måder, uden held...
>
> I får et dump af koden fra objectet her:
>
> type
> TDatabaseObject = class
> Private
> protected
> Session: TDBISAMSession;
> public
> constructor Create(Owner: TComponent);
> end;
>
> implementation
>
>
> constructor TNC_DatabaseObject.Create(Owner: TComponent);
> begin
> inherited Create; // Initialize inherited parts
> showmessage('1');
> Session.Active:=false;
> showmessage('2');
> Session.AutoSessionName:=true;
> showmessage('3');
> Session.SessionType:=stRemote;
> showmessage('4');
> end;
>
>
>
> Og et dump fra mit test-program:
>
> Var
> MinDBA:TDatabaseObject ;
>
> procedure TForm1.Button2Click(Sender: TObject);
> begin
> MinDBA.Create(application);

Dette er en fejl mange laver. Erstat ovenstående med:
MinDBA := TDatabaseObject.Create(application);

Jeg har efterhånden vænnet mig til at kopiere deklarationen af variablen
direkte ind i kildeteksten (det giver færre stavefejl ;) ). Så mangler der kun
et '=' lige efter kolonnet og selvfølgelig '.Create()'-delen.

MVH, René


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408189
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste