Avatar billede kennethv Nybegynder
21. oktober 2005 - 11:34 Der er 1 kommentar og
1 løsning

Underligt problem

Jeg har et underligt problem. Jeg har lavet et program, som udfra en tekstfil slår op i en SQLdb og henter oplysninger og laver en PDF fil til brugervejledning. Alt har fungeret fint, men nu får jeg en fejl, som er:

'Invalid variant type conversion'

Jeg har kørt en SP3 på Delphi 2005, måske er det, det, der er galt, men jeg ved det ikke. Hvis det er hvad skal jeg kan jeg så gøre?

/Kennethv

procedure TForm1.RvSystem1NewPage(Sender: TObject);
Var
  ListName : String;
  LookupRes: Variant;
  VareNo : String;
begin
  if lDoHeader then
    with Sender as TBasereport do
    begin
      SetFont('Arial Narrow',12);
      Bold:=True;
      Home;
      Newline;
      TAB(NA,NA,NA,NA,NA);
      TAB(NA,NA,NA,NA,NA);
      TAB(NA,NA,NA,NA,NA);
      PrintTAB('EN - English');
      PrintTAB('SV - Svenska');
      PrintTAB('DE - Deutsch');
      PrintTAB('FR - Français');
      PrintTAB('ES - Español');
      PrintTAB('IT - Italiano');
      PrintTAB('DA - Dansk');
      Home;
      SetFont('Arial Narrow', 9);
      Bold:=True;
      Newline;
      linenum:=5;
      PrintTAB('Pos.');
      TAB(NA,NA,NA,NA,NA);
      PrintTAB('Qty');
      ListName := TableList.Strings[0];
      Delete(ListName,1,pos(';',ListName));
      vareNo := copy(ListName,1,pos(';',ListName)-1);
      Delete(ListName,1,pos(';',ListName));
      Delete(ListName,1,pos(';',ListName));
      LookupRes := ADOTable1.Lookup('ORIGINAL', ListName, 'GB;SE;DE;FR;ES;IT;DA');
      if not LookupRes = null Then  <---- HER FÅR JEG FEJLEN
      begin
        PrintLeft(VareNo,0.6);
        home;
        MemoBuf := TMemoBuf.Create;
        SetFont('Arial Narrow',9);
        Bold := true;
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[0]);
        MemoBuf.PrintStart := 1.8;
        MemoBuf.PrintEnd := 3.1;
        PrintMemo(MemoBuf,0,false);
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[1]);
        MemoBuf.PrintStart := 3.2;
        MemoBuf.PrintEnd := 4.5;
        PrintMemo(MemoBuf,0,false);
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[2]);
        MemoBuf.PrintStart := 4.6;
        MemoBuf.PrintEnd := 5.9;
        PrintMemo(MemoBuf,0,false);
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[3]);
        MemoBuf.PrintStart := 6;
        MemoBuf.PrintEnd := 7.3;
        PrintMemo(MemoBuf,0,false);
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[4]);
        MemoBuf.PrintStart := 7.4;
        MemoBuf.PrintEnd := 8.7;
        PrintMemo(MemoBuf,0,false);
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[5]);
        MemoBuf.PrintStart := 8.8;
        MemoBuf.PrintEnd := 10.1;
        PrintMemo(MemoBuf,0,false);
        linenum:=5;
        MemoBuf.text := UpperCase(LookupRes[6]);
        MemoBuf.PrintStart := 10.2;
        MemoBuf.PrintEnd := 11.5;
        PrintMemo(MemoBuf,0,false);
        Bold:=false;
      end
      else
        ShowMessage('Fejl');
    end;
end;
Avatar billede rocco_siffredi Nybegynder
21. oktober 2005 - 11:45 #1
Prøv at udskifte:
if not LookupRes = null Then  <---- HER FÅR JEG FEJLEN

med:
if not VarIsEmpty(LookupRes) Then

Læs eventuelt onlinehjælp om Variant-funktioner.


// Rocco
Avatar billede kennethv Nybegynder
21. oktober 2005 - 11:59 #2
Det er stort. Jeg har faktisk set på, men har nok ikke helt forstået det. Jeg bukker og klapper.
Mange tak.
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

IT-JOB

Politiets Efterretningstjeneste

IT Sikkerhedsarkitekt i PET

Styrelsen for Grøn Arealomlægning og Vandmiljø

Teamleder til Application Management

Capgemini Danmark A/S

Open Application (Denmark)

Politiets Efterretningstjeneste

Bliv IT-supporter i PET's IT Servicedesk