AGB  ·  Datenschutz  ·  Impressum  







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

Ereigniss in DLL zuweisen

Ein Thema von Xate · begonnen am 30. Jan 2012 · letzter Beitrag vom 30. Jan 2012
 
Xate

Registriert seit: 11. Jun 2010
12 Beiträge
 
Delphi 2005 Architect
 
#1

Ereigniss in DLL zuweisen

  Alt 30. Jan 2012, 15:19
Hallo,

ich versuche gerade zwei Events einem Object zuzuweisen. Mein Quellcode sieht so aus:
Delphi-Quellcode:
[B]library[/B] report2010;

{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
  ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
  Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
  Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
  Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
  sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
  Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
  Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
  Informationen als PChar- oder ShortString-Parameter übergeben. }



uses
  SysUtils, Classes, Windows, Dialogs,
  qrddlgs, dbxquery, CRSQLConnection,
  QrPrntr, printers, DB, DBTables,
  DBClient, Forms, Qrdctrls, QrDesign,
  dll_database, DBCtrls, ExtCtrls,
  QRExport, QRPDFFilt, QRWebFilt,
  ShellAPI;




{$R *.res}

type
  TDataModule1 = class(TDataModule)
  end;


var
  ReportDesignerDialog1 : TReportDesignerDialog;
  index_d : WideString;
  filter_d, dir_d, sql_d : WideString;
  Benutzer_after, Druckname_after : WideString;
  kopie : integer;
  AExportFilter : TQRRTFExportFilter;
  pdfFilter : TQRPDFDocumentFilter;
  htmlFilter : TQRGHTMLDocumentFilter;
  db : Tdll_datamodule;
  query : TDBXQuery;
  laufwerk, lwtemp : String;
Weiter unten habe ich drei Prozeduren, wovon die untere extern angesprochen werden kann.
( den Part von begin bis end hab ich rausgelassen)
Delphi-Quellcode:
procedure BeforeOpenDataset(DS: TDataSet);
procedure ReportDesignerDialog1AfterReportLoaded(Form: TForm; QRD: TComponent);
procedure RX1(ReportName,Art,Filter,dir,sql,index:WideString;
              DF:Boolean;
              anz_d : Integer;
              intern : Boolean;
              Dokuname,kundennr,benutzer : WideString); stdcall;
Nun will ich in der RX1 Prozedur folgendes tun:
Delphi-Quellcode:
  // Reportdesigner erzeugen und Ereignisse zuweisen
  reportdesignerdialog1 := Treportdesignerdialog.Create(nil);
  ReportDesignerDialog1.BeforeOpenDataset := BeforeOpenDataset;
  ReportDesignerDialog1.AfterReportLoaded := ReportDesignerDialog1AfterReportLoaded;
Leider bekomme ich dort diese Fehlermeldungen:
Code:
[Fehler] report2010.dpr(209): E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'
[Fehler] report2010.dpr(210): E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'
Setzte ich ein @ vor das ganze, erhalte ich folgende Meldungen:
Code:
[Fehler] report2010.dpr(209): E2010 Inkompatible Typen: 'TDataSetNotifyEvent' und 'Pointer'
[Fehler] report2010.dpr(210): E2010 Inkompatible Typen: 'TQRDAfterReportLoadedEvent' und 'Pointer'
Kann mir da jemand weiterhelfen?
  Mit Zitat antworten Zitat
 

 

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 02:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz