C++ 2 Delphi - problem z przetłumaczeniem param

0

Cześć, mam kolejny problem w tłumaczeniu.

Otóż mam typ, nazwijmy go: TTyp po prostu.
Jest to typ rekordowy.

I teraz tak, wg sdk, mam funkcję z następującymi parametrami:

RET ReadConfig( int handle, int configType, int* size, void* data )

I chodzi mi o zmienną DATA.
Wyczytałem, że gdy się używa void* w parametrze, oznacza to wskaźnik. Konkretnie coś jak typ wskaźnikowy(mogę się też mylić oczywiście ;>).
Wg SDK:

size
Size of the configuration data.
data
Pointer to the configuration data. TMojTyp and TInnyTyp are defined as follows:

Funkcję ReadConfig wyciągam z dllki.
I nie mogę dać sobie rady z tym ostatnim argumentem, bo zawsze dostaję Access Violation.

Próbowałem przekazać:

  • po prostu zmienną typu Pointer
  • zmienną typu: ^TMojTyp
  • zmienną typu: TMojTyp

Oczywiście różnie deklarowałem ten parametr:

...var data: Pointer
...data: TMojTyp (lub też wskaźnik).

Wszystko na nic, bo zawsze AV.

Może ktoś przy tym pomóc? Wydaje się, że to ostatni problem w tym tłumaczeniu już.

0

data:Pointer

0
manfredek napisał(a)

data:Pointer

Gdy mam w definicji funkcji: (...; data: Pointer)

wywołuję:

var
  data: Pointer;
begin
  ReadSettings(..., data);
end;

też mam AV

0
ReadConfig(handle : integer;configType : integer;var size : integer;var data); stdcall;

1 użytkowników online, w tym zalogowanych: 0, gości: 1