AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Tpbject

Ein Thema von R2009 · begonnen am 17. Jul 2009 · letzter Beitrag vom 19. Jul 2009
Antwort Antwort
Seite 1 von 2  1 2      
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

Problem mit Tpbject

  Alt 17. Jul 2009, 10:36
Hi,
hab wieder einmal ein Problem mit einer selbst konstuierten Klasse.

Delphi-Quellcode:
unit Uarray;

interface
uses math;
TYPE
  Tarray=class(tobject)
  private
    arr:array of integer;
    maximum,minimum:integer;
    procedure setl(a:integer);
    function Maxa:integer;
    function Mina:integer;
  public
    { Public-Deklarationen }
    procedure assign(arr0:array of integer);
  end;
implementation

procedure Tarray.assign(arr0:array of integer);
var n:integer;
begin
  setl(length(arr0));
  For n:=0 to length(arr0)-1 do arr[n]:=arr0[n];
  Maxa;
  MinA
end;

procedure Tarray.setl(a:integer);
begin
  setlength(arr,a);
end;

function Tarray.Maxa:integer;
begin
  maximum:=MaxIntValue(arr);
end;

function Tarray.Mina:integer;
begin
  minimum:=MinIntValue(arr);
end;


end.

procedure TForm1.Button1Click(Sender: TObject);
var s:tarray;t:array[1..1000] of integer;
begin
  s.Create;
  s.assign(t);
  s.Free;
end;
Sobald ich die Form schliesse (habe vorher den Button gedrückt) bekomme ich eine Zugriffsverletzung.
Kommentiere ich s.assign(t); aus so verschwindet mein Button von der Hauptform, sobald ich ihn gedrückt habe....
Versteh überhaupt nichts mehr.

Viele Grüsse!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 10:41
s := TArray.Create();
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#3

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 10:42
wie erzeugt man ein Object?

s.Create; so jedenfalls nicht

[edit]
menno
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#4

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 12:55
Wäre soetwas nicht auch beim debuggen aufgefallen? Dafür ist es gedacht.
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 14:00
Hi,

ich bin ein solchiges Rindvieh!

Vielen Dank!
Worker: der Debugger meckert überhaupt nicht, ansonsten hätte ich den Beitrag nicht geschrieben.
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#6

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 15:04
Zitat von R2009:
ich bin ein solchiges Rindvieh!
Zitat von R2009:
Worker: der Debugger meckert überhaupt nicht, ansonsten hätte ich den Beitrag nicht geschrieben.
Ich schrieb auch nicht, dass der Debugger meckert; Du musst meine Sätze mal richtig lesen!
Ich schrieb, dass dieses Problem beim debuggen hätte auffallen müssen, wenn man sich das Objekt, das man vermeintlich erzeugt hat, im Debugger anschaut.

Hättest Du die Maus über die Objektvariable geführt, dann hättest Du gesehen, dass Dein Objekt aus einer willkürlichen Anzahl willkürlicher Werte besteht - und da kann dann ja wohl etwas bei der Instanziierung nicht ganz korrekt gelaufen sein, oder?!

Hier findest Du übrigens ein nettes Tutorial für Anfänger; und Fortgeschrittene zum Thema.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 15:20
der Debugger würde hier nur meckern (wäre schön wenn das ginge),
wenn man die Funktion bzw. den Constructor so markieren könnte/würde,
daß diese nicht über eine Objekt-Variable aufrufbar wäre.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 15:33
Ich kann dir nur empfehlen ein const vor dem Array Parameter im Assign() zu schreiben, damit Delphi beim Aufruf nicht erstmal dein riesiges Array kopieren muss...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Problem mit Tpbject

  Alt 17. Jul 2009, 17:43
@R2009: Könntest du dem Thema bitte einen aussagekräftigeren Titel geben der das Problem wenigstens ansatzweise beschreibt?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Problem mit Tpbject

  Alt 18. Jul 2009, 12:35
Nein,
1.) das Problem war zu Anfang überhaupt nicht fassbar, somit ist der Titel in Ordnung.
2.) Das Problem hat sich erledigt.
3.) Ich weiss nicht wie man den Titel ändert.

Viele Grüsse
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:25 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