AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Auf den Wert einer Proc./Funkt. einer anderen Unit zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Auf den Wert einer Proc./Funkt. einer anderen Unit zugreifen

Ein Thema von Aike · begonnen am 6. Aug 2005 · letzter Beitrag vom 6. Aug 2005
Antwort Antwort
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#1

Auf den Wert einer Proc./Funkt. einer anderen Unit zugreifen

  Alt 6. Aug 2005, 11:52
Hallöchen,

ich kenne mich mit dem Zugriff auf andere Units nur sehr mangelhaft aus, deshalb hab ich auch nur spartanisch in diesem Forum suchen können.

Es geht mir ganz einfach darum, dass ich aus meiner Haupt-Unit auf eine andere zugreifen möchte, dort einen Wert ermittle und den an die Haupt-Unit zurückgeben will. Das gegenseitige Einbinden in die uses-Klausel geht ja leider nicht. Ich hab das immer irgendwie umgangen, aber das geht mir jetzt auf den Keks.

Ich hab's mal so probiert:
Haupt-Unit; will Wert aus zweiter Unit benutzen:
Delphi-Quellcode:
public
  function SetWert:boolean; virtual; abstract;

procedure Form2.Button1OnClick(Sender: TObject);
begin
  if SetWert then
    showmessage('');
end;
Zweite Unit, in der der Code ausgeführt werden soll:
Delphi-Quellcode:
public
  function SetWert:boolean; virtual; //Ja, ich hab mit den drei Begriffen um mich geschmissen ;-)

function Form1.SetWert:boolean;
begin
  result:=True; //Nur so zum Testen
end;
Leider kommt dann in der Haupt-Unit beim Button-Klick die Fehlermeldung "Abstakter Fehler". Daraus schließe ich, dass was mit der Deklaration nicht stimmt, aber ich komme nicht drauf, was ich da anders schreiben muss :-/ Vielleicht muss auch 'ne get-Methode her, aber ...

Ich hoffe, ihr könnt mir da mal wieder weiterhelfen!

Liebe Grüße
Aike
Achim
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 11:55
in der zeweiten unit muß statt virtual override stehen.
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#3

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 11:59
Dann gibt mir der Compiler die Fehlermeldung:
"setWert nicht in Basisklasse gefunden."
Achim
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#4

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 12:07
Das Schlüsselwort Delphi-Referenz durchsuchenabstract besagt, dass eine Funktion nur deklariert wird, aber nicht definiert. Du definierst die Funktion aber. Weg damit. Um auf Sachen in einer anderen Unit zugreifen zu können, musst du die Unit in die uses-Klausel aufnehmen:uses ..., uForm1; {oder wie die Unit auch heißt} und dann (am besten) überuForm1.form1.setwert aufrufen.
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#5

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 12:16
Oh, das ist aber hübsch! Funktioniert, danke
Achim
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#6

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 12:16
Wenn du von deiner Hauptunit eine Funktion in einer anderen Unit ausführen willst, bindest du die andere Unit einfach per uses-Klausel ein und damit hat sich's. Dazu brauchst du keine virtuellen Methoden.
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#7

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 13:33
Und wenn ich von einer Neben-Unit auf die Haupt-Unit zugreifen will und das mit der Uses-Klausel nicht mehr geht?
Achim
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#8

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 13:41
Dann schreibst du die uses-Klausel in den implementation-Abschnitt.
  Mit Zitat antworten Zitat
CLRS530

Registriert seit: 27. Jun 2005
Ort: Hamburg
39 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Auf den Wert einer Proc./Funkt. einer anderen Unit zugre

  Alt 6. Aug 2005, 15:04
das vergiss mal lieber gleich, mach deinen code so, das du von keiner anderen Unit auf deine Main zugreifen musst, das ist eigendlich immer möglich, denn das schlimmste ist, wenn du kreuzenden Verkehr hast, also die Main wo anders einbindest und die andere in die main.
  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 06:45 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