Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Procedure im Object (https://www.delphipraxis.net/136161-procedure-im-object.html)

youuu 24. Jun 2009 20:09


Procedure im Object
 
Hi,

ich habe ein Object.

Delphi-Quellcode:
  TCompanySize = class
  Private
    const Small = 'Klein';
    const Middle = 'Mittel';
    const Large = 'Groß';
  Public
    Procedure CompanySizeAdd(ComboBox: TAdvComboBox; Customer: TObject; OldSize: string);
  End;
nun möchte ich dir Procedure in einer anderen Unit aufrufen, doch das Funktioniert nicht.
[DCC Fehler] UnitKundenInfo.pas(259): E2003 Undeklarierter Bezeichner: 'CompanySizeAdd'

Unit in der das Objekt liegt habe ich allerdings eingebunden.
Was habe ich vergessen?

guidok 24. Jun 2009 20:13

Re: Procedure im Object
 
Hast du auch eine Instanz der Klasse erzeugt?

Delphi-Quellcode:
company : TCompanySize;

...

company := TCompanySize.Create;
company.SizeAdd //usw...

bigben37 24. Jun 2009 20:19

Re: Procedure im Object
 
Zitat:

Zitat von guidok
Hast du auch eine Instanz der Klasse erzeugt?

Dann müsst aber eine AV auftreten, aber er kann den Code gar nicht kompilieren.

Du musst das halt so aufrufen:
Delphi-Quellcode:
var
CompanySize: TCompanySize
begin
.
.
.

CompanySize.CompanySizeAdd(...);
Edit: Zeig uns dochmal, wie du das in der anderen Unit aufrufst.

Aphton 24. Jun 2009 20:40

Re: Procedure im Object
 
[quote="bigben37"]
Zitat:

Zitat von guidok
Du musst das halt so aufrufen:

Wäre nicht schlecht, zu erwähnen, dass Klassen erst per Create erstellt werden muss

Delphi-Quellcode:
var
  KlassenInstanz: TKlassenTyp;

...

  KlassenInstanz := TKlassenTyp.Create;
  KlassenInstanz.Procedure1();
  KlassenInstanz.Free; // sollte man später auch nicht vergessen ...
MfG

youuu 24. Jun 2009 20:44

Re: Procedure im Object
 
Edit:

Hat sich erledigt Funktioniert.
Danke an Aphthon, genau das war es ;)

SimStar001 24. Jun 2009 20:44

Re: Procedure im Object
 
Zitat:

Zitat von youuu
Hi,

Delphi-Quellcode:
  TCompanySize = class
  Private
    const Small = 'Klein';
    const Middle = 'Mittel';
    const Large = 'Groß';
  Public
    Procedure CompanySizeAdd(ComboBox: TAdvComboBox; Customer: TObject; OldSize: string);
  End;

hast du denn überhaupt die Funktion im Interface Teil geschrieben???

guidok 25. Jun 2009 06:02

Re: Procedure im Object
 
Zitat:

Zitat von Aphton
Wäre nicht schlecht, zu erwähnen, dass Klassen erst per Create erstellt werden muss

Hm, steht doch oben... :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 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