Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SharedData von Petr Vones unter D7; (https://www.delphipraxis.net/53778-shareddata-von-petr-vones-unter-d7%3B.html)

the-networker 22. Sep 2005 09:58


SharedData von Petr Vones unter D7;
 
Unter D5 konnte man mit der Unit SharedData von Petr Vones ein "shared segment"
unter Delphi erstellen.

Delphi-Quellcode:
unit SharedData;

// Shared data template unit

interface

type
  PSharedData = ^TSharedData;
  TSharedData = packed record
    // Put your data here ...
  end;

var
  __SHAREDDATA: PSharedData = nil;

implementation

var
  __SHAREDDATASIZE: Integer = SizeOf(__SHAREDDATA^);

exports
  __SHAREDDATA, __SHAREDDATASIZE;

initialization
  Assert(__SHAREDDATA <> nil);
  Inc(PChar(__SHAREDDATA), HInstance);

end.
Leider läßt sich das ganze nicht mehr unter D7 kompilieren.
__SHAREDDATA, __SHAREDDATASIZE können nicht exportiert werden.

Hat jemand eine Idee?

Gruß
uwe

mael 22. Sep 2005 11:48

Re: SharedData von Petr Vones unter D7;
 
Also unter Delphi 3 geht es auch nicht: "Prozedur oder Funktionsname erforderlich".
Die Fehlermeldungen sind anscheinend bei Delphi 7 nicht besser geworden...

Jedenfalls frage ich mich warum Du nicht einfach eine Funktion verwendest, die einen Pointer zurück gibt, so à la:

function SharedData: PSharedData;
begin
Result := InternalSharedData
end;

the-networker 22. Sep 2005 12:02

Re: SharedData von Petr Vones unter D7;
 
Zitat:

Zitat von mael
Also unter Delphi 3 geht es auch nicht: "Prozedur oder Funktionsname erforderlich".
Die Fehlermeldungen sind anscheinend bei Delphi 7 nicht besser geworden...

Jedenfalls frage ich mich warum Du nicht einfach eine Funktion verwendest, die einen Pointer zurück gibt, so à la:

function SharedData: PSharedData;
begin
Result := InternalSharedData
end;

Unter D5 funktionierte es tadellos.
Vorteil bei dieser Variante, es muß kein MMF benutzt werden weil es einen gemeinsamen
Datenbereich gibt.

gruß
uwe

mael 22. Sep 2005 12:44

Re: SharedData von Petr Vones unter D7;
 
Ja stimmt. Ich schaue es mir mal an, mit ein paar kleinen Hacks müßte es gehen...

mael 22. Sep 2005 13:59

Re: SharedData von Petr Vones unter D7;
 
So! Ich habs, ich habs, ich habs, ich habs... :-D :firejump: :dancer2: :dancer:

Jetzt geht es auch unter Delphi 7.
Ich habe die Demo angepaßt und die MakeShared.exe mußte auch angepaßt werden.
Quellcode ist dabei.

Hoffe es gefällt.

Gruß, Maël.

//EDIT: Ein paar kosmetische Änderungen am Quelltext

Download(56KB): http://mh-nexus.de/downloads/SharedData.zip

the-networker 23. Sep 2005 07:04

Re: SharedData von Petr Vones unter D7;
 
Zitat:

Zitat von mael
So! Ich habs, ich habs, ich habs, ich habs... :-D :firejump: :dancer2: :dancer:

Jetzt geht es auch unter Delphi 7.
Ich habe die Demo angepaßt und die MakeShared.exe mußte auch angepaßt werden.
Quellcode ist dabei.

Hoffe es gefällt.

Gruß, Maël.

Hallo Mael,
habe Deinen Quellcode noch nicht getestet, bedanke mich aber jetzt schon recht
herzlich für Deine Mühe.
Sollten noch Fragen auftauchen werde ich mich bei Dir melden.

Liebe Grüße
Uwe

the-networker 23. Sep 2005 08:44

Re: SharedData von Petr Vones unter D7;
 
Zitat:

Zitat von mael
So! Ich habs, ich habs, ich habs, ich habs... :-D :firejump: :dancer2: :dancer:

Jetzt geht es auch unter Delphi 7.
Ich habe die Demo angepaßt und die MakeShared.exe mußte auch angepaßt werden.
Quellcode ist dabei.

Hoffe es gefällt.

Gruß, Maël.

Hallo Mael,

voll Geil!!!!!!!!!!!!!!!!!!!!!!!!
Funktioniert vom feinsten.
Kann jetzt endlich alles auf D7 umstellen.
Vielen Dank

Gruß
Uwe

Robert Marquardt 23. Sep 2005 08:49

Re: SharedData von Petr Vones unter D7;
 
Kannst du das auch an den Autor Petr Vones weiterleiten? Er kann dann ein Update bei Borland platzieren.

the-networker 23. Sep 2005 10:44

Re: SharedData von Petr Vones unter D7;
 
Zitat:

Zitat von Robert Marquardt
Kannst du das auch an den Autor Petr Vones weiterleiten? Er kann dann ein Update bei Borland platzieren.

Gerne!

Gruß
Uwe

mael 23. Sep 2005 12:07

Re: SharedData von Petr Vones unter D7;
 
Ich habe gerade noch ein paar kleine kosmetische Änderungen am Quelltext gemacht und die neue Version an Petr geschickt.
Download(56KB): http://mh-nexus.de/downloads/SharedData.zip


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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