Einzelnen Beitrag anzeigen

Morfio

Registriert seit: 15. Dez 2003
53 Beiträge
 
#1

Absturz beim Zusammenfügen von Strings

  Alt 17. Dez 2003, 10:12
Hi,

ich habe schon wieder ein Problem: wenn ich einen String einer Variablen zuordne und an den String eine Variable vom Typ String hänge, bekomme ich beim Ablauf einen Fehler:

"Im Projekt BDB.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 004028E5 in Modul BDB.exe'. Lesen von Adresse 0123FFFD.'. Prozess wurde angehalten. Mit einzelnen Anweisungen oder Start fortsetzen."

Ich kann beim besten Willen keinen Fehler feststellen, hier einmal der Code:

Delphi-Quellcode:
procedure TfrmHilfe.cbKapitelChange(Sender: TObject);
var
   sql: Tsql;
   _myRes: PMySql_Res;
   _myRow: PMySql_Row;
   query: String;
   Items: array of Integer;
   Kapitel: String;
   i: Integer;
   Helper: String;
begin
   sql := Tsql.create;
   Kapitel := String(cbKapitel.Items.Objects[cbKapitel.ItemIndex]);
   if Kapitel = 'then
   begin
      query := 'SELECT id FROM HilfeKapitel ORDER BY Kapitel LIMIT 1';
      mysql_real_query(sql._myCon, PChar(query), Length(query));
      _myRes := mysql_store_result(sql._myCon);
      _myRow := mysql_fetch_row(_myRes);
      Kapitel := _myRow[0];
   end;
   if Kapitel <> 'then
   begin
      Edit1.Text := Kapitel; // <- das hier gibt er prima aus
      query := 'SELECT id, Headline FROM HilfeTexte WHERE KapitelID = ' + Kapitel; // <- hier ist dann der Fehler
{      mysql_real_query(sql._myCon, PChar(query), Length(query));
      _myRes := mysql_store_result(sql._myCon);
      SetLength(Items, mysql_num_rows(_myRes));
      for i := 0 to High(Items) do
      begin
         lbTexte.Items.AddObject(_myRow[1], TObject(_myRow[0]));
      end;}

   end;
end;
An der Variablen Kapitel kann es nicht liegen, da ich auch mal probiert habe, eine Variable mit anderem Namen zu nehmen (String) und dort einfach etwas 'reingeschrieben habe und dann query := '....' + variable machte. Er stürzte auch ab. Ich habe auch versucht, eine andere Variable als query mal zusätzlich zu benutzen, ging aber auch nicht.

Vielleicht kann mir einer von Euch helfen?

Vielen Dank,

Morfio ...
  Mit Zitat antworten Zitat