AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi DLL Funktionen einer Klasse exportieren
Thema durchsuchen
Ansicht
Themen-Optionen

DLL Funktionen einer Klasse exportieren

Ein Thema von Horst0815 · begonnen am 18. Apr 2012 · letzter Beitrag vom 18. Apr 2012
Antwort Antwort
Horst0815

Registriert seit: 23. Mai 2011
Ort: Görlitz
150 Beiträge
 
Delphi XE Starter
 
#1

DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 16:35
hab eine Klasse in fremder Unit die so aussieht
Delphi-Quellcode:
Type
  TScanHook = Class
  Public
    constructor Create;
    Procedure InstallHook(dwThreadId: DWord);
    Procedure RemoveHook;
  End;
Die soll jetzt in eine DLL exportieren

Delphi-Quellcode:
type
  CScanHook = class(TScanHook)
  public
    Procedure InstallHook; Override;
    Procedure RemoveHook; Override;
  end;


function CreateMWStObj: CScanHook; stdcall;
begin
  Result := CScanHook.Create;
end;

Procedure CScanHook.RemoveHook; Override; stdcall;
.......................



Procedure CScanHook.InstallHook(dwThreadId: DWord); Override; stdcall;
....................

exports
CreateMWStObj resident;
  InstallHook,
  RemoveHook;
begin

end.

was aber zu
Zitat:
[DCC Fehler] HookDLL.dpr(26): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden
führt


weiß jemand weiter
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 17:06
Dann mach die Methoden doch virtuell

Delphi-Quellcode:
type
  TFoo = class
    procedure MyMethod; virtual;
  end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Horst0815

Registriert seit: 23. Mai 2011
Ort: Görlitz
150 Beiträge
 
Delphi XE Starter
 
#3

AW: DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 17:23
Manchmal isses auch einfach Danke erstmal was aber zum nächsten Problem Führt

Procedure CScanHook.InstallHook(dwThreadId: DWord); Override; stdcall;
Zitat:
[DCC Fehler] HookDLL.dpr(104): E2070 Unbekannte Direktive: 'override'
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#4

AW: DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 17:36
Override hat allein in der Klassendeklaration zu stehen, nicht aber in der Implementation. BTW: DLL und Klassen, wenn das man gut geht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#5

AW: DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 17:37
Das gibt man ja auch nur in der Klassendeklaration an und nicht in der Implementation.

[edit]
Mist, da wollte ich schon die Klassenvervollständigung vorsachlagen
und dann sah ich ein Starter.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Apr 2012 um 17:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#6

AW: DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 17:38
Da guttenbergt jemand
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#7

AW: DLL Funktionen einer Klasse exportieren

  Alt 18. Apr 2012, 17:45
Der rote kistige Gutenbergwarner funktioniert halt nicht.

Zitat:
BTW: DLL und Klassen, wenn das man gut geht.
Technisch (nur für den Import) ist das möglich, aber abraten kann man davon nur.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Apr 2012 um 17:47 Uhr)
  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 07:47 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-2025 by Thomas Breitkreuz