21. oktober 2007 - 19:55Der er
4 kommentarer og 1 løsning
Jeg får følgende fejl: could not convert variant into String
Jeg programmerer i Delphi. Jeg har en Access Database. Jeg har benyttet ADOTable, TDataSource og DBGrid for at hente data fra databasen. Jeg benytter så TDBText for at vis mine data i programmet.
Men når jeg compilerer det får jeg følgende fejl:
Project navn.exe raised exception class EVariantTypeCastError with message 'could not convert variant of type (Null) into type (String). Process stopped. Use Step or Run to continue.
Jeg fatter ikke helt hvor denne fejl optræder, hvad den skyldes. Formegentlig ligner det noget pointer (type Null) som ikke kan oversættes til en String !
Er det opsætning i mit debugger program ? Jeg får kun denne fejl når jeg kører programmet fra Delphi, hvis jeg bruger min *.exe fil alene så kører programmet fint.
Enten modificér din tabel til ikke at indeholde NULL værdier.
Hvis fejlen sker i noget kode hvor du laver noget lignende dette: eNavn.Text := Query.FieldByName('navn').Value, har du flere muligheder:
1. Enten kan du tjekke om feltet er null
eNavn.Text := ''; if not Query.FieldByName('navn').IsNull then eNavn.Text := Query.FieldByName('navn').Value;
2. Du kan droppe Value og benytte goe gamle AsString (som konverterer null til '')
eNavn.Text := Query.FieldByName('navn').AsString;
Kan i øvrigt anbefale dig at installere Madshi da dens bugreport giver meget god information om hvor fejlen opstod (den angiver endda linjenummeret i filen)
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.