AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi EVariantError! - Kann mir mal ganz schnell einer helfen???
Thema durchsuchen
Ansicht
Themen-Optionen

EVariantError! - Kann mir mal ganz schnell einer helfen???

Ein Thema von EDatabaseError · begonnen am 18. Sep 2005 · letzter Beitrag vom 19. Sep 2005
Antwort Antwort
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#1

EVariantError! - Kann mir mal ganz schnell einer helfen???

  Alt 18. Sep 2005, 18:42
Datenbank: dBase • Version: 4 • Zugriff über: keine Ahnung
Delphi-Quellcode:
procedure Tdatasearch.Button1Click(Sender: TObject);
var s1, s2: String;
begin
s1 := Edit1.Text;
s2 := Edit2.Text;
 if CheckBox1.Checked = true then
 begin
  if CheckBox2.Checked = true then
  begin
   if DataModule4.Tabelle.Locate('ART_NAME;ART_NUM', VarArrayOf([s1, s2]), [loPartialKey]) then
   begin
    send;
   end
   else
   begin
    MessageDlg('Nicht gefunden!!!', mtError, [mbOK], 0);
   end;
  end
  else
  begin
   if DataModule4.Tabelle.Locate('ART_NAME', s1, [loPartialKey]) then
   begin
    send;
   end
   else
   begin
    MessageDlg('Nicht gefunden!!!', mtError, [mbOK], 0);
   end;
  end;
 end
 else
 begin
  if Checkbox2.Checked = true then
  begin
   if DataModule4.Tabelle.Locate('ART_NUM', s2, [loPartialKey]) then
   begin
    send;
   end
   else
   begin
    MessageDlg('Nicht gefunden!!!', mtError, [mbOK], 0);
   end;
  end
  else
  begin
   MessageDlg('Keine Suchoption gewählt!!!', mtError, [mbOK], 0);
  end;
 end;
end;
Ich bekomm immer nen EVariantError in den Locate Zeilen. Konvertierung von Variant ungültig...

WHY????


Mfg

EDE
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 18. Sep 2005, 19:15
Hi,

dein Fehler scheint D3 spezifisch zu sein. Bei mir unter D7 funktioniert das ausgezeichnet mit verschiedenen Feldtypen und -Kombinationen.

Grüße vom marabu
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#3

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 18. Sep 2005, 19:30
Was sagt uns das mal wieder... Kauft eure Software neu... Aber danke trotzdem.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 19. Sep 2005, 09:40
Kompilier dein Projekt mal mit den Debug-dcus, dann kannst du besser sehen, an welcher Stelle der Fehler entsteht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 19. Sep 2005, 09:55
Das Feld ART_NUM wird wohl ein numerisches Feld sein.
Du gibst bei Locate aber einen String ein.
Normalerweise ist dies zulässig; die VCL wandelt intern von String nach Integer.
Sollte die Variable s2 allerdings nicht umgewandelt werden, kommt es zu einem Fehler.
Besser so:
Delphi-Quellcode:
procedure Tdatasearch.Button1Click(Sender: TObject);
var s1: String;
artnum : integer;
begin
s1 := Edit1.Text;
try
  artnum := StrToInt(Edit2.Text);
except
  on E:Exception do
  begin
     Edit2.Setfocus; // Focus auf fehlerhaftes Feld
     // aussagekräftige Fehlermeldung bilden
     // und zwar ohne die orginale Message zu zerstören
     E.Message := 'Artikelnummer ist falsch'#13#10+E.Message;
     raise;
  end;
end;

if CheckBox1.Checked = true then
begin
  if CheckBox2.Checked = true then
  begin
   if DataModule4.Tabelle.Locate('ART_NAME;ART_NUM', VarArrayOf([s1, artnum]), [loPartialKey]) then
Andreas
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#6

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 19. Sep 2005, 15:17
Ne ArtNum ist String Denn in Artikelnummern kann au mal ein Buchstabe sei. Aber sonst ist in D3 keine andere Möglichkeit????
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#7

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 19. Sep 2005, 15:18
Zitat von Stevie:
Kompilier dein Projekt mal mit den Debug-dcus, dann kannst du besser sehen, an welcher Stelle der Fehler entsteht.
Was für Tool???
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 19. Sep 2005, 15:22
Zitat von EDatabaseError:
Zitat von Stevie:
Kompilier dein Projekt mal mit den Debug-dcus, dann kannst du besser sehen, an welcher Stelle der Fehler entsteht.
Was für Tool???
Projekt -> Optionen -> Compiler -> Debug DCU [Haken machen]

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#9

Re: EVariantError! - Kann mir mal ganz schnell einer helfen?

  Alt 19. Sep 2005, 16:43
So hab den Fehler Weiterverfolgt und herausgefunden dass die Prozedur send das Prob macht!

Also jetzt geht alles!


Danke!


Mfg

EDE
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz