/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
C Til Pascal.....
Fra : Michael Vilhelmsen


Dato : 16-08-05 13:25

Hej

Jeg har en header fil fra C, som indeholder følgende stump kode:

enum {
   CONF_PARAM = 1,
   CONF_TRACE,
   CONF_EXTTRACE,
   CONF_EXTTRACE_PLUS
};


Hvad betyder dette ?

At variablerne får værdierne:

   CONF_PARAM = 1
   CONF_TRACE = 2
   CONF_EXTTRACE = 3
   CONF_EXTTRACE_PLUS = 4


Michael

--

Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen

Michael Vilhelmsen



 
 
Arne Vajhøj (16-08-2005)
Kommentar
Fra : Arne Vajhøj


Dato : 16-08-05 13:54

Michael Vilhelmsen wrote:
> Jeg har en header fil fra C, som indeholder følgende stump kode:
>
> enum {
> CONF_PARAM = 1,
> CONF_TRACE,
> CONF_EXTTRACE,
> CONF_EXTTRACE_PLUS
> };
>
>
> Hvad betyder dette ?
>
> At variablerne får værdierne:
>
> CONF_PARAM = 1
> CONF_TRACE = 2
> CONF_EXTTRACE = 3
> CONF_EXTTRACE_PLUS = 4

Ja.

enum X { A, B, C };

svarer vel nærmest til:

type
x = (A, B, C);

men jeg tror ikke at man kan bestemme
deres numeriske værdi i Pascal, så sats
på integer.

Arne

Michael Vilhelmsen (16-08-2005)
Kommentar
Fra : Michael Vilhelmsen


Dato : 16-08-05 14:10

OK

Mit problem er, at jeg fra en leverandør har fået en DLL fil.
Den indeholder funktioner som jeg kan kalde.

Nogle af dem er simple.
De skal enten ingen parametre have overført, eller bare en Integer.

Dem kan jeg få til at virke ved at skrive dette:

function flxConnect (Int : Integer) : Integer; External 'flxdrv.dll';

Den virker fint.

Så har jeg en anden, som forventer noget input med ovenstående.
Dem kan jeg ikke få til at virke.

F.eks.

DllExport int flxSetConfiguration(
         int func, ...);
(Fra header filen fra C).

Jeg ved fra beskrivelse af, at den skal kaldes sådan:

Synopsis
int flxSetConfiguration( int func, ... );

Description
This function is used to setup the communication method in the Flexdriver

Examples
Here’s an example on how to set the Flexdriver to run RS232 with 19200 baud on COM port 1: rc = flxSetConfiguration( CONF_PARAM, RS232_COMM, "1",19200 );


Og præcist CONF_PARAM og RS232_COMM ser sådan ud i header filen:

enum {
   CONF_PARAM = 1,      // Placement of inifile
   CONF_TRACE,      // Enable trace
   CONF_EXTTRACE,      // Enable extensive tracing
   CONF_EXTTRACE_PLUS   // Enable extensive tracing with append
};


og


enum {
   RS232_COMM = 1,
   ETHERNET_COMM
};


Jeg har faktisk bare defineret disse som konstanter i delphi.
SÃ¥ledes:

CONF_PARAM = $00000001;
RS232_COMM = $00000001;
ETHERNET_COMM = $00000002;


Men virker gør det ikke.....

Men jeg har da en eller ande kontakt til DLL filen.
Det udstyr, som jeg gerne vil "snakke" reagere da efter hensigten.

Michael


--

Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen

Michael Vilhelmsen



Uffe Kousgaard (16-08-2005)
Kommentar
Fra : Uffe Kousgaard


Dato : 16-08-05 15:21

"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> wrote in message
news:mn.838e7d58eda518d5.11460@Microcom.PLEASEREMOVE.Dk...
>
> function flxConnect (Int : Integer) : Integer; External 'flxdrv.dll';

Her skal du med stor sandsynlighed tilføje stdcall i definitionen - kig
nærmere i Delphi's hjælp. Ellers spørg leverandøren hvilken metode han
anvender for overførsel af registre.

hilsen
Uffe



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste