AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Function in Unit / Zugriff von anderen Units
Thema durchsuchen
Ansicht
Themen-Optionen

Function in Unit / Zugriff von anderen Units

Ein Thema von Tormentor32 · begonnen am 5. Okt 2006 · letzter Beitrag vom 5. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#1

Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:08
Hi Leute Ich hab grad ein Problem bei einer Total einfachen sache

ich habe diese unit geschrieben und in mein programm eingebunden

Delphi-Quellcode:
unit mTlocation;

interface

uses
  extctrls;


type

  TFeldInhalt = (Boden, Mauer, TrOnEnter, TrOnUse, TrOnCollision, TrChangeLoc,_);

  TFigurenImage = class(TImage)
  private
    FX: integer;
    FY: integer;
  public
    {funktionen *********************************}
    function GetXWert: integer;
    function GetYWert: integer;
    {prozeduren *********************************}
    procedure SetXWert(value: integer);
    procedure SetYWert(value: integer);
  end;

  TFeld = class(Tobject)
    FigurenImage: TFigurenimage;
  private
    FFigurenIndex: integer;
    FInhalt: TFeldInhalt;
    FID: string;
  public
    {funktionen *********************************}
    function GetFigurenIndex: integer;
    function GetInhalt: TFeldInhalt;
    function GetID: string;
    {prozeduren *********************************}
    procedure SetFigurenIndex(value: integer);
    procedure SetInhalt(value: TFeldInhalt);
    procedure SetID(value: string);
  end;

  TLocation = class(Tobject)
  private
  public
    Felder: array[1..20,1..20] of TFeld;
  end;

implementation

function InhaltToStr(I: TFeldInhalt): string;
begin
  case I of
    Boden: result := 'StGrd';
    Mauer: result := 'StWal';
    TrOnEnter: result := 'TrOnE';
    TrOnUse: result := 'TrOnU';
    TrOnCollision: result := 'TrOnC';
  else
    result := ''
  end
end;


{************************************************}
{*************** TFigurenImage ******************}
{************************************************}

procedure TFigurenImage.SetXWert(value: integer);
begin
  FX := value;
end;

procedure TFigurenImage.SetYWert(value: integer);
begin
  FY := value;
end;

function TFigurenImage.GetXWert: integer;
begin
  result := FX;
end;

function TFigurenImage.GetYWert: integer;
begin
  result := FY;
end;

{************************************************}
{******************** TFeld *********************}
{************************************************}

procedure TFeld.SetID(value: string);
begin
  FID := value;
end;

procedure TFeld.SetInhalt(value: TFeldInhalt);
begin
  FInhalt := value;
end;

procedure TFeld.SetFigurenIndex(value: integer);
begin
  FFigurenindex := value;
end;

function TFeld.GetFigurenIndex: integer;
begin
  result := FFigurenIndex
end;

function TFeld.GetInhalt: TfeldInhalt;
begin
  result := FInhalt;
end;

function TFeld.GetID: string;
begin
  result := FID;
end;

{************************************************}
{****************** TLocation *******************}
{************************************************}
end.
ABER: Ich kann von einer anderen Unit nicht auf die function InhaltToStr zugreifen

Wo ist mein Denkfehler???
Ich komm irgendwie nicht weiter!

gruß Richard
Richard Mahr
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:11
Du musst in der anderen Unit mTlocation zu der uses-Liste hinzufügen. Woher soll die Unit sonst auch die Funktion kennen?
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:12
Zitat:
ich habe diese unit geschrieben und in mein programm eingebunden
Hat er wohl schon getan ...
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:14
Ich habe die Unit in der Uses-Klausel eingebunden, aber wenn ich die Function aufrufen will, dann sagt er mir Undefinierter Bezeichner!
Ich stehe irgendwie total auf dem schlauch
Richard Mahr
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:14
Die Funktion ist für andere Units unsichtbar, solange sie nicht im Interface deklariert wurde, z.B. so:
Delphi-Quellcode:
unit Sample;
Interface
Function SampleFunc (aParam : Integer) : Integer;
...
Implementation
Function SampleFunc (aParam : Integer) : Integer;
Begin
  ...
  Result := ...
End;
...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:15
Du musst die Funktion auch im interface Teil der Unit deklarieren ...

//Edit: ähhm ja
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#7

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:16
Zitat von Florian Bernd:
Hat er wohl schon getan ...
Ups, ich sollte wohl besser lesen.
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:18
Dann habe ich das Problem, dass er TFeldInhalt nicht kennt, da es ja erst danach im type Bereich Deklariert wird.
Richard Mahr
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:22
Zitat von Tormentor32:
Dann habe ich das Problem, dass er TFeldInhalt nicht kennt, da es ja erst danach im type Bereich Deklariert wird.
Dann deklariere die Funktion doch vor nach den Typdeklarationen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#10

Re: Function in Unit / Zugriff von anderen Units

  Alt 5. Okt 2006, 22:24
Jetzt habe ich ungenügende Forward oder External-Deklaration!
Richard Mahr
  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:14 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