AGB  ·  Datenschutz  ·  Impressum  







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

Kleines Problem mit der OOP

Ein Thema von Generaljim · begonnen am 5. Apr 2007 · letzter Beitrag vom 6. Apr 2007
Antwort Antwort
Generaljim

Registriert seit: 5. Apr 2007
34 Beiträge
 
#1

Kleines Problem mit der OOP

  Alt 5. Apr 2007, 19:04
Hallo leute ich hab hier ein kleines Problem mit dem nutzen von Image Dateien aus einer selbst erstellten klasse heraus:Ich kann sie zwar
ganz normal aus der TForm klasse heraus aufrufen und ihre eigenschaften veränderen aber aus meiner klasse geht das nicht, obwohl beide in der selben unit stehen.Hab auch schon versucht allesmögliche davorzuschreiben hat aber nix funktioniert.Da sich einige aus dieser Fragestellung heraus sehr wahrscheinlich nicht viel vorstellen können hier mein Quellcode.
Delphi-Quellcode:
 
 TSupermari=class (TObject)
public
posx:integer;
posy:integer;
procedure bewegen(x,y:integer);
end;

var
  Form1: TForm1;
  Supermari:TSupermari;


implementation


{$R *.DFM}
procedure Tsupermari.bewegen(x,y:integer) ;
var i:integer;
begin

Form1.Image1.visible:=true;// Hier liegt das Problem er complimiert es zwar macht aber an dieser stelle nix mit dem Image
Form1.Image2.visible:=false;
for i:=1 to y do begin
Form1.Image1.top:=Form1.arsch.top-1 end;
for i:=1 to y do begin
Form1.Image1.top:=Form1.top-1 end;
end;
Ich bedanke mich schon im vorraus bei allen Antwortgebern herzlich!!

Gruß Generaljim
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Kleines Problem mit der OOP

  Alt 5. Apr 2007, 19:20
Hallo und ehrzlich Willkommen!

Zu Deinem Quelltext gbt es einiges anzumerken. Erstens sehe ich nicht, wo Du eine Instanz von TSupermari erstellst. Du deklarierst zwar eine Variable, aber das war es dann auch schon.
Zweitens, Du verwendest in der Implementation Deiner Klasse eine globale Variable der TForm-Klasse. Sowas macht man nicht. Erstelle einen Konstruktor, dem Du das TImage als Argument übergibst, speichere dieses in einer privaten Variable der Klasse und benutze dann diese.
Drittens ist es oft übersichtlicher, eigene Klassen in einer separaten Unit zu deklarieren. Schließlich ist die Unit mit dem Form nur zur Darstellung des Programms gedacht. Die Logik sollte hiervon getrennt werden.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Kleines Problem mit der OOP

  Alt 5. Apr 2007, 19:26
Desweiteren kann ich nicht erkennen wozu die Schleifen gut sind. Die schleifenvariable wird nicht benutzt, statt dessen wird der Wert immer wieder gesetzt.
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Kleines Problem mit der OOP

  Alt 5. Apr 2007, 19:43
Hallo,
Zitat von cruiser:
Desweiteren kann ich nicht erkennen wozu die Schleifen gut sind. Die schleifenvariable wird nicht benutzt, statt dessen wird der Wert immer wieder gesetzt.
stimmt. Das wird nur der gleiche Wert immer wieder neu gesetzt.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Kleines Problem mit der OOP

  Alt 5. Apr 2007, 20:01
[OT]

Manchmal sollte man seine Quelltexte auf Forentauglichkeit lieber noch einmal überprüfen Zeile 25...
[/OT]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
6. Apr 2007, 14:34
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Es geht um Delphi.
Antwort Antwort


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 02:50 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