Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Fehlermeldung 'Parameter stimmt nicht.' !?


Steve_B - Di 10.06.03 21:05
Titel: Fehlermeldung 'Parameter stimmt nicht.' !?
Hallo,

ich muß für die Schule ein Programm schreiben, das bei einem Click auf einen Button verschiedene "Formen" (LineTo, Rectangle, Ellipse, ...) zeichnet. Bisher habe ich nur folgenden Code geschrieben

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Image1.Canvas do
  begin
    Rectangle(2020, Image1.Width-20, Image1.Height-20);
    Ellipse((Image1.Width div 2)+2020, Image1.Width-20,
      (Image1.Height div 2)-20);
    MoveTo(2020);
    while (PenPos.X < Image1.Width-20and
      (PenPos.Y < Image1.Height-20do
    begin
      LineTo(PenPos.X+10, PenPos.Y);
      LineTo(PenPos.X, PenPos.Y+10);
    end;
  end;
end;

Beim Starten des Programms gibt es aber eine Fehlermeldung:
Zitat:
Debugger Exception Notification
Project Uebung14.exe raised exception class EOutOfResources with message 'Der Parameter stimmt nicht.'. Process stopped. Use Step or Run to continue.

Wenn man ein zweites mal F9 drückt, erscheint zwar das Fenster, aber das Bild (Image1) bleibt leer. Was ist daran falsch? Es wird kein Fehler im Quellcode angezeigt und was ist überhaupt ein "Parameter"?

Sorry, für die wahrscheinlich blöde Frage; ich kriege diesen Sch*** einfach nicht zum laufen. :(

MfG, Steve


G-McKree - Di 10.06.03 21:34

weiss nich was du hast
bei mir funzt das

kommt dann so n bild raus mit viereck, kreis und zickzack


P.S. in der hilfe steht:

EOutOfResources is raised when an application attempts to create a Windows handle and there are no more handles to allocate.

vieliecht meint er, dass zuviel im hintergrund läuft?


Fred Ferkel - Mi 11.06.03 02:04

poste auch mal den rest der unit...villeicht haste ja was nicht gerade in der prozedor vermurxt...


Steve_B - Fr 13.06.03 18:34

Hallo!

Ich glaube irgendetwas stimmt mit meinem Computer oder der Software nicht. In der Schule lief die ganze Sache, bei mir geht's immer noch nicht.
Kann das daran liegen, dass in der Schule die deutsche Version von Delphi 6 installiert ist und ich zu Hause "nur" die englische habe? Ich hatte nämlich schon mal ähnliche Probleme, damals lief es aber bei mir und in der Schule nicht.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
unit umain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  with Image1.Canvas do
  begin
    Rectangle(2020, Image1.Width-20, Image1.Height-20);
    Ellipse((Image1.Width div 2)+2020, Image1.Width-20,
      (Image1.Height div 2)-20);
    MoveTo(2020);
    while (PenPos.X < Image1.Width-20and
      (PenPos.Y < Image1.Height-20do
    begin
      LineTo(PenPos.X+10, PenPos.Y);
      LineTo(PenPos.X, PenPos.Y+10);
    end;
  end;
end;

end.


Delete - Fr 13.06.03 18:40

Ich würde eher sagen in der Schule habt ihr ein NT-basierendes Windows und du hast zu Hause Win98 oder so. Kuck mal, wie viel GDI Ressourcen du hast bevor du das Programm ausführst.

Nachtrag:
Seit wann benutzt man eigentlich ein TImage zum Zeichen? Dafür ist eine Paintbox gedacht. Aus der Hilfe:
Zitat:

Use TImage to display a graphical image on a form