Autor Beitrag
Steve_B
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 10.06.03 22:05 
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
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 178



BeitragVerfasst: Di 10.06.03 22: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mi 11.06.03 03:04 
poste auch mal den rest der unit...villeicht haste ja was nicht gerade in der prozedor vermurxt...
Steve_B Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 13.06.03 19: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.
ausblenden volle Höhe 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.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.06.03 19: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