AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Absturz beim Zusammenfügen von Strings

Ein Thema von Morfio · begonnen am 17. Dez 2003 · letzter Beitrag vom 17. Dez 2003
Antwort Antwort
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
Morfio

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

Re: Absturz beim Zusammenfügen von Strings

  Alt 17. Dez 2003, 10:24
Hallo nochmal,

komischerweise funktioniert es so:

Delphi-Quellcode:
procedure TfrmHilfe.cbKapitelChange(Sender: TObject);
var
   sql: Tsql;
   _myRes: PMySql_Res;
   _myRow: PMySql_Row;
   query: String;
   Items: array of Integer;
   Kapitel: Integer;
   i: Integer;
   Helper: String;
begin
   lbTexte.Clear;
   sql := Tsql.create;
   Helper := String(cbKapitel.Items.Objects[cbKapitel.ItemIndex]);
   Kapitel := StrToInt(Helper);
   if Kapitel = 0 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 := StrToInt(_myRow[0]);
   end;
   if Kapitel <> 0 then
   begin
      Edit1.Text := IntToStr(Kapitel);
      query := 'SELECT id, Headline FROM HilfeTexte WHERE KapitelID = ' + IntToStr(Kapitel);
      Edit1.Text := query;
      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
         _myRow := mysql_fetch_row(_myRes);
         lbTexte.Items.AddObject(_myRow[1], TObject(_myRow[0]));
      end;
   end;
end;
Irgendwie mache ich doch einen ganz großen Fehler, oder? Was mache denn falsch?

Morfio ...
  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 21:27 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