Autor Beitrag
Marc Walter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 40

Win98, WinXP
D2 Pers, D7 Pers
BeitragVerfasst: Sa 23.04.05 15:38 
ich wollte fragen, ob man funktionen aus unterschiedlichen units in einer anderen units aufrufen kann, und wenn ja, wie.
ich hab das wie bei prozeduren versucht, aber das geht bei mir irgendwie nicht.
Bsp: ich hab eine funktionen.pas und ein prog test:

eine prozedur kann ich im prog (nachdem die unit drin is) auf die 2 arten aufrufen:
ausblenden Delphi-Quelltext
1:
2:
funktionen.oeffne('www.web.de');
oeffne('www.delphi-forum.de');


wenn ich das aber jetzt auf funktionen zu übertragen versuch, gehn beide net:
ausblenden Delphi-Quelltext
1:
2:
showmessage(funktionen.gethomedir);
showmessage(gethomedir);


kann mir da vielleicht jemand helfen?

ja, gethomedir is ne funktion mit resultat string :wink:


Moderiert von user profile iconChristian S.: Topic aus Sonstiges verschoben am Sa 23.04.2005 um 15:41

_________________
möp
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 23.04.05 15:59 
Dazu sollten wir vielleicht auszüge aus deinem quelltext haben... vielleicht versuchst du einfach mal, deine funktionen unit per "uses" einzubinden, aber wahrscheinlich hast du das schon... alternativ kannst dus dir auch GANZ kompliziert machen ("kompliziert", im sinne von "es geht auch einfacher") und eine DLL aus deiner unit machen ;)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Marc Walter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 40

Win98, WinXP
D2 Pers, D7 Pers
BeitragVerfasst: Sa 23.04.05 16:31 
vor dlls hab ich mich eigentlich bisher immer mehr oder weniger erfolgreich gedrückt... :oops:

und zum code: also ich hab da eigentlich nich viel mehr als vorher schon drinstand (ich habs extra kurz neu probiert nachdems beim ersten mal nich ging)

also, das is das prog selber: nur 2 Buttons drauf
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
uses funktionen;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(funktionen.gethomedir);
  showmessage(gethomedir);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  funktionen.oeffne('www.web.de');
  oeffne('www.delphi-forum.de');
end;


dann noch funktionen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
unit funktionen;

interface

uses Shellapi, Windows;

procedure oeffne(seite: string);

implementation

function gethomedir: string;
var Ort, Teil: string; zahl: integer;
begin
  Ort := ParamStr(0);
  while Pos('\', Ort) > 0 do begin
     zahl := Pos('\', Ort);
     Teil := Teil + Copy(Ort, 1, zahl);
     Delete(Ort, 1, zahl);
  end;
  Result := Teil;
end;

procedure oeffne(seite: string);
begin
  Shellexecute(Hwnd(application), 'Open', Pchar(seite), nilnil, SW_Show);
end;

end.


unds resultat is halt, dass er gethomedir nicht kennt. wenn ich des mit gethomedir weglass gehts. auch das website-öffnen klappt

_________________
möp
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 23.04.05 16:33 
In anderen Units sichtbar ist das, was im interface-Abschnitt deklariert wird!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Marc Walter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 40

Win98, WinXP
D2 Pers, D7 Pers
BeitragVerfasst: Sa 23.04.05 16:38 
aso, ich hab immer gedacht, funktionen sollte man da oben raus lassen :oops:

habs gleich ausprobiert, jetz gehts, danke!

_________________
möp