AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi "Ungültige Zeigeroperation" bei dynamischen Kompos
Thema durchsuchen
Ansicht
Themen-Optionen

"Ungültige Zeigeroperation" bei dynamischen Kompos

Ein Thema von Tyler · begonnen am 19. Sep 2004 · letzter Beitrag vom 21. Sep 2004
 
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#1

"Ungültige Zeigeroperation" bei dynamischen Kompos

  Alt 19. Sep 2004, 17:59
Hallo,

ich hab hier ein merkwürdiges Problem, was mir arges Kopfzerbrechen bereitet:

In einer Scrollbox werde zur Laufzeit dynamisch Panels erzeugt:
Delphi-Quellcode:
myPanel : Array of TPanel

myPanel[i] := TPanel.Create(Self);

usw.
Auf diesen Panels werden dann im nächsten Schritt dynamisch EditFelder erzeugt:
Delphi-Quellcode:
myEdit : Array of TEdit

myEdit[k] := TEdit.Create(Self);

usw.
k ist an der Stelle 10 * i + 1 um die Editfelder später mit namen anzusprechen.
Ergibt dann z.B.
myEdit[1], myEdit[2], myEdit[3] für die ersten 3 Edits im ersten Panel
myEdit[11], myEdit[12], myEdit[13] für die nächsten 3 Edits im zweiten Panel usw.

Bis hierhin funktioniert auch alles ganz gut.

Nun soll der Inhalt der EditFelder per SQL-Script in eine MySQL-DB geschrieben werden. Um mich erstmal an den Algorithmus ranzutasten, habe ich erstmal nur das 1. EditFeld des 1. Panels angesprochen:
(Ich hatte auch schon n For-To-Schleife gebastelt, um alle Edit-Felder abzuarbeiten. Da ich aber wie gesagt zu diesem Fehler kam, hab ich das Ganze ersteinmal vereinfacht.)
Delphi-Quellcode:
myQuery.SQL.Text := 'INSERT INTO mytable (feld1) VALUES (' +
QuotedStr(myEdit[1].Text + ')';
myQuery.ExecSQL
Wenn ich nun zur Laufzeit ein dynamisches Panel erzeuge, und danach das SQLScript ausführe, werden die Daten korrekt in die Tabelle geschrieben, alles funktioniert.

Wenn ich ein 2. Panel erzeuge, funktionierts auch. Sobald jedoch 3 und mehr Panel im Spiel sind, erhalt ich diese Fehlermeldung:
"EInvalidPointer. Ungültiger Zeigeroperation"
Nach Druck auf "OK" erscheint die Unit "ZSQLStrings" (ich arbeite mit ZEOS) und der obligatorische "Blaue Balken" auf einer gleichnamigen Procedure "SQLStrings" bei "Inherited Changed;".

Hat jemand eine Idee, was da schief läuft, und vor allem, warum das nur bei 3 und mehr dynamischen Panels auftritt? Ich steh hier im Moment irgendwie vor verschlossenen Türen

danke im Vorraus!

tyler
  Mit Zitat antworten Zitat
 


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 13:24 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