AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi funktion in andrer unit aufrufen geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

funktion in andrer unit aufrufen geht nicht

Ein Thema von Julzn · begonnen am 6. Feb 2006 · letzter Beitrag vom 6. Feb 2006
Antwort Antwort
Julzn

Registriert seit: 22. Jan 2006
Ort: Pfaffenhofen a.d. Glonn
27 Beiträge
 
#1

funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:11
tag leutz,

also ich hab 2 units. in der 1. is die funktion deklariert:

Delphi-Quellcode:
function CreateFeld(i:integer):Boolean;
.
.
.
function TForm1.CreateFeld(i:integer):Boolean;
begin
  {spielt keine rolle was hier steht}
  for loop1:=0 to (n-1) do {y}
      for loop2:=0 to (d-1) do {x}
      begin
      i:=loop2+(loop1*n);
      Feld[i]:= TSpeedButton.Create(Self);
      
      with Feld[i] do begin
           Name:= 'Feld'+IntToStr(i);
           Top:= 40+(loop1*25);
           Left:= 20+(loop2*25);
           Width:= 25;
           Height:= 25;
           Glyph.LoadFromFile('Feld.bmp');
           Tag:=i;
           end;

      end;
      
  result:=true;
end;

un die ruf ich von der 2. unit aus auf:

Form1.CreateFeld(i:integer); ich krieg aber immer den fehler: identifier not found 'i'
an was liegt das??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:15
Also diese beiden Codefragmente passen nicht zusammen:
Zitat:
Delphi-Quellcode:
function CreateFeld(i:integer):Boolean;
...
Form1.CreateFeld(i:integer);
Da die Definition eine freie Prozedur der Unit und der Aufruf einer Methode der Formularklasse ist.
Also entweder Prozedur zur Methode machen: function Form1.CreateFeld(i:integer):Boolean; oder Aufruf:CreateFeld(i:integer);
Markus Kinzler
  Mit Zitat antworten Zitat
Julzn

Registriert seit: 22. Jan 2006
Ort: Pfaffenhofen a.d. Glonn
27 Beiträge
 
#3

Re: funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:21
geht beides nich...

Form1.CreateFeld(i:integer); des Form1 steht da nur, weil die funktion ja in unit1 ist, aber ich von unit 2 darauf zugreif.
ich hoff mal ich laber jetzt kein sch***, bin ned so der checker.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:26
Zitat von Julzn:
des Form1 steht da nur, weil die funktion ja in unit1 ist, aber ich von unit 2 darauf zugreif.
ich hoff mal ich laber jetzt kein sch***, bin ned so der checker.
Also das Form1 sagt aber aus, das eine Methode der Objekts Form1 aufgerufen werden soll, du hast aber wie schon erwähnt eine normale Prozedur geschrieben diese rufst du ohne das Form1. auf. Hast du in der Unit2 auf die Unit1 verwiesen?  Uses ...,Unit1, ... ?
Markus Kinzler
  Mit Zitat antworten Zitat
Julzn

Registriert seit: 22. Jan 2006
Ort: Pfaffenhofen a.d. Glonn
27 Beiträge
 
#5

Re: funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:27
jopp, steht da

edit: hab schon alle möglichen schreibweisen ausprobiert un keine kombination
ging bisher. sehr seltsam...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:30
Der Aufruf der Prozedur natürlich ohne den Typ.

CreateFeld(i); Existiert in Unit2 die Variable i?
Markus Kinzler
  Mit Zitat antworten Zitat
Julzn

Registriert seit: 22. Jan 2006
Ort: Pfaffenhofen a.d. Glonn
27 Beiträge
 
#7

Re: funktion in andrer unit aufrufen geht nicht

  Alt 6. Feb 2006, 21:35
öhm, nö...ups.

ok thx, jetzt gehts
  Mit Zitat antworten Zitat
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 18:18 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