AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Package - einer Prozedur im Package einen Wert übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Package - einer Prozedur im Package einen Wert übergeben

Ein Thema von sminds · begonnen am 6. Sep 2006 · letzter Beitrag vom 6. Sep 2006
Antwort Antwort
sminds

Registriert seit: 16. Jun 2003
Ort: Südtirol
21 Beiträge
 
#1

Package - einer Prozedur im Package einen Wert übergeben

  Alt 6. Sep 2006, 14:12
Versuche seit kurzer Zeit meine Applikation durch Packages Modular aufzubauen. Habe es allerdings bisher nicht geschafft,
einer Prozedur in einer Unit im Package einen Wert mitzugeben.

im PACKAGE
Delphi-Quellcode:
procedure Hallo(i:integer);
begin
  showmessage(inttostr(i));
end;

exports
  //Hallo(i:integer); [i]// Error: ',' or ';' expected but '(' found...[/i]
  Hallo;
end.
in der Hauptunit, die das Package aufruft
Delphi-Quellcode:
unit Unit_main;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ExtCtrls;
type
  THallo = procedure;
  TForm1 = class(TForm)
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    packagemodule:hmodule;
    Hallo:THallo;
    procedure PackageLoad;
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}

procedure tform1.PackageLoad;
begin
  PackageModule := LoadPackage('package1.bpl');
  if packagemodule<>0 then
     try
       @Hallo:=GetProcAddress(PackageModule,'Hallo');
     except
       ShowMessage('Package not found');
     end;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if packagemodule=0 then packageload;
  //if assigned(Hallo) then Hallo(1); [i]//No parameters expected... ???[/i]
  if assigned(Hallo) then Hallo;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if packagemodule<>0 then
     unloadpackage(packagemodule);
end;

end.
Wie kann ich der Procedur Hallo den Wert übergeben?

MfG,
sminds.
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 30. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Package - einer Prozedur im Package einen Wert übergeben

  Alt 6. Sep 2006, 14:59
Ganz einfach: Du schreibst in der Hauptanwendung:
Delphi-Quellcode:
THallo = procedure;
//Müsste aber sein:
THallo = procedure(i:integer);
So müsste das klappen...
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
sminds

Registriert seit: 16. Jun 2003
Ort: Südtirol
21 Beiträge
 
#3

Re: Package - einer Prozedur im Package einen Wert übergeben

  Alt 6. Sep 2006, 15:04
Zitat von CK_CK:
Ganz einfach: Du schreibst in der Hauptanwendung:
Delphi-Quellcode:
THallo = procedure;
//Müsste aber sein:
THallo = procedure(i:integer);
So müsste das klappen...
Super!!!! Danke, damit hast Du mir sehr geholfen.

Grüße,
sminds.
  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 16:12 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