"Anders Holm Jensen" <dwoor@oncable.dk> wrote in
news:3f2add90$0$24714$edfadb0f@dread14.news.tele.dk:
>
> "Harald" <news@kroning.dk> skrev i en meddelelse
> news:3f2abcf8$0$24620$edfadb0f@dread14.news.tele.dk...
>> "Anders Holm Jensen" <dwoor@oncable.dk> skrev i en meddelelse
>> news:3f2abc25$0$24683$edfadb0f@dread14.news.tele.dk...
>> >
>> > "Claus Christiansen" <NOSPAM@unipeople.dk> skrev i en meddelelse
>> > news:Xns93CAA4671C509krucsid@news.unipeople.dk...
>> > > "Harald" <news@kroning.dk> wrote in
>> > > news:3f297a3e$0$24695$edfadb0f@dread14.news.tele.dk:
>> > >
>> > > > "Anders Holm Jensen" <dwoor@oncable.dk> skrev i en meddelelse
>> > > > news:3f295f1a$0$24629$edfadb0f@dread14.news.tele.dk...
>> > > >> > > Hej
>> > > >> > >
>> > > >> > > Hvordan for jeg vist en form også lukke den ned igen,
>> > > >> > > når der er noget kode der er eksikveret ?
<klip>
>> > > >>
>> > > >> Jeg bygger et array op med noget data fra en database, så
>> > > >> står den bare og hænger og kommer aldrig til close.
>> > > >>
<klip>
>> >
>> > Det virker næsten med .Show, men den brokker sig over at den ikke
>> > kan håndtere Onhide ! Hvordan har du gjort ?
>>
>> Hvis du postede noget kode kunne problemet nok hurtig løses.
>
> Koden kunne nok være bedre og mere smart, men det er min løsning !
>
> Her er hele proceduren ! Og der er rimeligt meget. Jeg tager gerne
> imod gode råd.
Gode råd (under hensyn til at SQlQkunde er en TQuery eller lign.) - det
første gode råd ville nok være at fortælle hvor fejlen opstår :)
> procedure TFtilfoejkunde.FormActivate(Sender: TObject);
Er du sikker på at det skal være en onActivate (og ikke fx. OnShow)???
> begin
> if (Flogon.Gbrugertype = 'ADM') then
> begin
> with Ftilfoejkunde.SQLQkunde do
> begin
> Close;
> SQL.Clear;
> SQL.Add('select * from kunde where '
> + '(Slettet_JN = "N" Or Slettet_JN = "n")');
> Open;
> end;
> end
> else
> begin
> with Ftilfoejkunde.SQLQkunde do
> begin
> Close;
> SQL.Clear;
> SQL.Add('select * from kunde where FK_lokation_ID = :LOID And '
> + '(Slettet_JN = "N" Or Slettet_JN = "n")');
> Ftilfoejkunde.SQLQkunde.ParamByName('LOID').Asinteger :=
> strtoint(Flogon.GlokationID) ;
> Open;
> end;
> end;
---
> aktive_index := 0;
> antal_poster := 0;
---
Unødvendige, brug SQLQkunde.recordcount og .recno i stedet
(og hvis de virkelig skal være globale, så sæt dem via ovenstående
metoder)
> SQLQkunde.Open;
---
> SQLQkunde.First;
> while not SQLQkunde.Eof do
> begin
> antal_poster := antal_poster + 1 ;
> SQLQkunde.Next;
> end;
---
Også unødvendige jf. ovenstående
> SQLQkunde.Next;
Forstår jeg ikke
> SetLength(ID, antal_poster);
> SetLength(KUNDE_NR, antal_poster);
<klip>
> SetLength(FK_POST_NR_POSTNR_BETADR, antal_poster);
> SetLength(FK_POST_NR_POSTNR_AFHADR, antal_poster);
slå alle ovenståede arrays sammen til et at af en passende record (er for
nemhedens/overskuelighedens skyld)
> Fhenterdata.ShowModal;
Fhenterdata.Show;
>
> SQLQkunde.First;
> while not SQLQkunde.Eof do
> begin
> ID[aktive_index] := inttostr(SQLQkunde['ID']);
> KUNDE_NR[aktive_index] := inttostr(SQLQkunde['Kunde_nr']);
> CVR_NR[aktive_index] := inttostr(SQLQkunde['CVR_nr']);
<klip en masse tildelinger>
> FK_POST_NR_POSTNR_BETADR[aktive_index] :=
> SQLQkunde['FK_postnr_PostNr_betadr'];
> FK_POST_NR_POSTNR_AFHADR[aktive_index] :=
> SQLQkunde['FK_postnr_PostNr_afhadr'];
> SQLQkunde.Next;
---
> aktive_index := aktive_index + 1;
---
Unødvendig
indsæt:
Application.processmessages;
> end;
>
> Fhenterdata.close;
>
---
> aktive_index := 0 ;
---
Unødvendig
> with SQLQpostnr do
> begin
> Close;
--
> SQL.Clear;
> SQL.Add('select * from postnr where PostNr = :POSTNR') ;
--
Disse linier kan slås sammen til:
SQL.Text := 'select * from postnr where PostNr = :POSTNR';
hvis man gerne vil spare en linie
> SQLQpostnr.ParamByName('POSTNR').Asstring :=
> FK_POST_NR_POSTNR[aktive_index];
> Open;
> end;
<klip en hel masse>
> end;
Ovenstående har sikker ikke hjulpet dig af med fejlen.... men du har som
sagt ikke fortalt hvor den går ned (hvis det er en runtime-fejl, eller
hvor compileren brokker sig)
Hvis det er Fhenterdata der så noget kode i dens OnHide/OnClose?
mvh
Claus
--
Claus Christiansen, <mailto:NOSPAM@unipeople.dk>, leave the adr. as it is
personal: <
http://unipeople.dk/~cch>; pythia: <
http://www.pythia.dk>
===========================================================--------------
"Computers are useless. They can only give you answers" - Pablo Picasso