AGB  ·  Datenschutz  ·  Impressum  







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

procedure aus andere unit direkt öffnen

Ein Thema von sAibo · begonnen am 11. Jun 2004 · letzter Beitrag vom 14. Jun 2004
Antwort Antwort
sAibo

Registriert seit: 6. Mai 2004
20 Beiträge
 
#1

procedure aus andere unit direkt öffnen

  Alt 11. Jun 2004, 17:45
Hi alle zusammen, ich frag mich heute schon den ganzen Tag wie ich eine Procedure bzw Funktion aus einer anderen Unit direkt aufrufen kann. Muss doch möglich sein?
Naje mein CT Lehrer konnte mir leider mal wieder nich weiter helfen da dacht ich, ich frag hier einfach mal. Wusste selber auch nicht genau nach was ich suchen sollte =)

danke
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: procedure aus andere unit direkt öffnen

  Alt 11. Jun 2004, 17:51
Moin sAibo,

einfach die Unit, in der sich die Funktion/Prozedur befindet mit in die Uses Anweisung aufnehmen.
Ob Du nun die Uses Anweisung im Interface oder Implementation Abschnitt nimmst, hängt auch vom Zusammenhang ab.
Die aufzurufende Prozedur/Funktion muss allerdings im interface Abschnitt veröffentlicht worden sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sAibo

Registriert seit: 6. Mai 2004
20 Beiträge
 
#3

Re: procedure aus andere unit direkt öffnen

  Alt 11. Jun 2004, 18:03
Hi Danke für die schnelle Antwort
Bei Uses im Implementation Abschnitt hab ich die verschieden Units untereinander schon alle drin.

Was meinst du genau mit "im Interface Teil veröffentlicht"?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: procedure aus andere unit direkt öffnen

  Alt 11. Jun 2004, 18:11
Moin sAibo,

mit veröffentlichen meine ich folgendes:

Delphi-Quellcode:
unit unit1;

interface

function MeineFunktion : integer;

implementation

function MeineFunktion : integer;
begin
  //....
end;
Würde die Zeile im interface Abschnitt fehlen, könnte man die Funktion nicht aus einer anderen Unit heraus ansprechen, selbst wenn man sie mit in die unit mit in eine uses Anweisung einer anderen Unit einbaut.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sAibo

Registriert seit: 6. Mai 2004
20 Beiträge
 
#5

Re: procedure aus andere unit direkt öffnen

  Alt 11. Jun 2004, 18:28
Ohje ich hoffe ich stell mich jetzt nich ganz dumm an

Eigentlich dachte ich zu wissen was du meinst. Nur bekomm ich dann immer eine Fehlermeldung

Delphi-Quellcode:
unit UnitConnecting;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls;

type
  TFormConnect = class(TForm)
    StatusBar1: TStatusBar;
    MemoConnect: TMemo;
    ButtonAbbrechen: TButton;
    ButtonOk: TButton;
    procedure ButtonAbbrechenClick(Sender: TObject);
    procedure connect; // <--- Hier die besagte Funktion

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FormConnect: TFormConnect;

implementation

uses UnitMain, UnitSpielStarten;
Fehlermeldung: Ungenügend Forward- oder ExternalDeklaration 'TFormConnect.connect'
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: procedure aus andere unit direkt öffnen

  Alt 11. Jun 2004, 18:37
Moin sAibo,

was Du deklariert hast, ist eine Methode der Klasse TFormConnect, was mir im gezeigten Zusammenhang auch sinnvoll erscheint.
Das ginge auch, nur müsstest Du sie dann im Implementation Abschnitt mit

Delphi-Quellcode:
procedure TFormConnect.Connect;
begin
  //...
end;
deklarieren.

[EDIT]
Ich dachte ursprünglich an eine Deklaration ausserhalb einer Typdeklaration.

Dann müsstest Du die Prozedur über den Objektnamen.Connect ansprechen, in Deinem Beispiel also

FormConnect.Connect [/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#7

Re: procedure aus andere unit direkt öffnen

  Alt 14. Jun 2004, 13:55
du musst die dann aber aus einer anderen unit mit Formconnect.connect ansprechen, soweit ich weiss....!!!!
»Unlösbare Probleme sind in der Regel schwierig...«
  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 14:30 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