AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Komponenten freigeben - Invalid pointer operation
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten freigeben - Invalid pointer operation

Ein Thema von roth · begonnen am 12. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
roth

Registriert seit: 25. Nov 2005
Ort: -
72 Beiträge
 
#1

Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:01
Guten Tag!

Ich mache per laufzeit ein paar TComboBox - Komponenten. Diese möchte ich wenn die Anwendung geschossen wird freigeben. Und zwar so:

Delphi-Quellcode:
for i := 1 to anz_bedingungen do
  begin
    mybox1[i][1].Free;
    mybox1[i][2].Free;
    mybox1[i][3].Free;
  end;

  for i := 1 to anz_links do
  begin
    mybox2[i][1].Free;
    mybox2[i][2].Free;

  end;
Folgender Fehler kommt dann:
Zitat:
Project DBExplorer.exe raised exception class EInvalidPointer with message 'Invalid pointer operation'. Process stopped. Use Step or Run to continue.

könnt ihr mir helfen!?

vielen dank! mroth
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:12
Könnte es sein, daß es eher
for i := 0 to anz_links-1 do heißen müßte?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:15
Setzt du die Owner (oder Parent - weiss nicht mehr 100%ig welcher der 2 fürs Freigeben relevant war) der Comboboxes auf dein Formular? Wenn ja, dann gibt dieses die bereits frei, so dass entweder du oder das Formular (je nach dem wo das inherited steht) auf ungültige Adressen stößt.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:16
Haben die Comboboxen einen Owner, der beim Beenden automatisch freigegebn wird? Dann brauchst du sie nicht freigeben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
roth

Registriert seit: 25. Nov 2005
Ort: -
72 Beiträge
 
#5

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:22
Vielen Dank für die raschen Antworten!


Zitat von mkinzler:
Könnte es sein, daß es eher
for i := 0 to anz_links-1 do heißen müßte?
Nein habe bei 1 angefangen reinzuschreiben!


Zitat von dizzy:
Setzt du die Owner (oder Parent - weiss nicht mehr 100%ig welcher der 2 fürs Freigeben relevant war) der Comboboxes auf dein Formular? Wenn ja, dann gibt dieses die bereits frei, so dass entweder du oder das Formular (je nach dem wo das inherited steht) auf ungültige Adressen stößt.
Setze den .parent auf mybox1[i][countCombobox].Parent := Form1.PageControl1.ActivePage;



Zitat von Luckie:
Haben die Comboboxen einen Owner, der beim Beenden automatisch freigegebn wird? Dann brauchst du sie nicht freigeben.
Das weis ich nicht! Habe gerade bemerkt das der Fehler auch auftritt wenn ich die Anwendung sonst einfach schliesse....

????
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:25
Zitat von roth:
Zitat von Luckie:
Haben die Comboboxen einen Owner, der beim Beenden automatisch freigegebn wird? Dann brauchst du sie nicht freigeben.
Das weis ich nicht!
Dann zeig uns dochmal, wie du die Comboboxen erstellst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
roth

Registriert seit: 25. Nov 2005
Ort: -
72 Beiträge
 
#7

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:31
Delphi-Quellcode:
 if countCombobox = 0 then
          countCombobox := 1;
        i := anz_bedingungen;
        SetLength(mybox1, i+1);
        SetLength(mybox1[i],3);
        mybox1[i][countCombobox] := TComboBox.Create(Self);
        mybox1[i][countCombobox].Parent := Form1.PageControl1.ActivePage;
        mybox1[i][countCombobox].Text := titel;
        mybox1[i][countCombobox].Left := left;
        mybox1[i][countCombobox].Top := 38+(mybox1[i][countCombobox].Height+10)*i;
        mybox1[i][countCombobox].Width := breite;
        mybox1[i][countCombobox].Items := inhalt;

        countCombobox := countCombobox +1;

        if countCombobox > 3 then
          countCombobox := 1;
anz_bedingungen wird natürlich raufgezählt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:36
mybox1[i][countCombobox] := TComboBox.Create(Self); Frage an roth: Haben die Comboboxen nun einen Besitzer oder nicht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
roth

Registriert seit: 25. Nov 2005
Ort: -
72 Beiträge
 
#9

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:39
Wie nur einen Besitzer!? Habe das erste mal so gearbeitet!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Komponenten freigeben - Invalid pointer operation

  Alt 12. Okt 2006, 10:40
Frage an roth: was ist das für ein Parameter den du bei Create übergibst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 01:41 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