Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 23.07.03 19:15 
Hallo,
ich habe jetzt 2 units die sehen so aus:
ausblenden volle Höhe 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:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
{$ifndef PAC_EXPORTS}
{$define PAC_EXPORTS}
unit pac_exports;
interface
uses pac_types; // pac-types

// constructors
function PAC_CreateBasicAI (Position: PAC_POINT; ifapxy: PAC_ISFREEATPOINTXY; Enabled:Boolean = false): PAC_BasicAI;overload
function PAC_CreateBasicAI (x, y: integer; ifapxy: PAC_ISFREEATPOINTXY; Enabled:Boolean = false): PAC_BasicAI;overload

// destructor
procedure PAC_DestroyBasicAI (AI: PAC_BasicAI);

// Let's GO!
procedure PAC_MoveBasicAI (AI: PAC_BasicAI; Steps: integer);

// to change/get some data
procedure PAC_SetPosition (AI: PAC_BasicAI; x, y: integer);overload
procedure PAC_SetPosition (AI: PAC_BasicAI; Position: PAC_POINT);overload
function PAC_GetPosition (AI: PAC_BasicAI): PAC_POINT;

procedure PAC_SetEnabled (AI: PAC_BasicAI; Enabled: boolean);
function PAC_GetEnabled (AI: PAC_BasicAI): boolean;

procedure PAC_SetIsFreeFunc (AI: PAC_BasicAI; ifapxy: PAC_ISFREEATPOINTXY);

{$endif} // PAC_EXPORTS
// die zweite:
{$ifndef PAC_TYPES}
{$define PAC_TYPES}
unit pac_types;
interface
// PAC_POINT-type
type
  PAC_POINT = record
      x: Integer;
      y: Integer;
    end;

  PAC_DIR = (PAC_DIRNONE, PAC_DIRLEFT, PAC_DIRUP, PAC_DIRRIGHT, PAC_DIRDOWN);

const
  PAC_DIRS: array[0..4of PAC_POINT =
      (
        (x:  0; y:  0),
        (x: -1; y:  0),
        (x:  0; y: -1),
        (x:  1; y:  0),
        (x:  0; y:  1)
      );

// tool-tip missing *g*
type PAC_ISFREEATPOINTXY = function (x, y: integer): boolean;

// PAC_BasicAI-Type
type PAC_BasicAI = Pointer;

{$endif} // PAC_TYPES
implementation
begin

end.

nun habe ich eine dll die in c++ geschriebn wurden ist und das sind die definiationen. wie kann ich die dll jetzt laden ???

_________________
MFG
Michael Springwald, "kann kein englisch...."
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 24.07.03 09:56 
Zum Beispiel so:
ausblenden Delphi-Quelltext
1:
procedure PAC_DestroyBasicAI (AI: PAC_BasicAI); external 'dllname.dll';					


Schau dir auch mal dieses Tutorial an: DLLs einbinden & Aufrufkonventionen .

Gruß
Tino
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 24.07.03 13:02 
Das ist der statische Ansatz. Definitiv vorzuziehen wäre bei DLL's von denen man nicht davon ausgehen kann, dass sie vorhanden sind der dynamische Ansatz.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 24.07.03 13:07 
Luckie hat folgendes geschrieben:
Definitiv vorzuziehen wäre bei DLL's von denen man nicht davon ausgehen kann, dass sie vorhanden sind der dynamische Ansatz.

Für den Anfang ist der statische Ansatz aber vorzuziehen.

Gruß
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 24.07.03 13:10 
Tino hat folgendes geschrieben:
Luckie hat folgendes geschrieben:
Definitiv vorzuziehen wäre bei DLL's von denen man nicht davon ausgehen kann, dass sie vorhanden sind der dynamische Ansatz.

Für den Anfang ist der statische Ansatz aber vorzuziehen.
Gruß

Warum soll er es nicht gleich richtig lernen?

Und warum wird das Zitat nicht umgebrochen? Fragen über Fragen, die die Welt bewegen.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 24.07.03 13:25 
Luckie hat folgendes geschrieben:
Warum soll er es nicht gleich richtig lernen?

Gerade deshalb. Vorallem wenn man noch am Anfang auf diesem Gebiet ist (und das scheint mimi ja noch zu sein :wink:) Wenn er erstmal verstanden hat wie man die Proceduren und Funktionen statisch einbindet und man ihm dann zeigt wie es dynamisch funktioniert... dann hat er es richtig gelernt. (Jedenfalls aus meiner Sicht.)

Luckie hat folgendes geschrieben:
Und warum wird das Zitat nicht umgebrochen?

Das liegt an dem Sourcecode in dem ersten Posting oben.

Gruß
Tino
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 24.07.03 13:28 
Dazu braucht er doch nur das Tutorial durchzuarbeiten. Aber OK. Er wird es schon schaffen.

Und warum wird der Source nicht umgebrochenß iN DER dp IST DIES; GLAUBE ICH; DER fALL:.

CAPSLOCK: :x