Hirdetés
Új hozzászólás Aktív témák
-
asimov007
csendes tag
Kedves forumozok!
a következő oproblémám adódott!
Ir ni kell c++-ban egy dll-t amit delphiben kell meghivni!
Gyuri16 kedves segítségével a delphi rendben vanmde valamiért a dll-nek nem tudom korrektül átadni a mat1 charaktertömböt!
Mivel mind a c++,mind a delphi tudásom minimális,hozzátok fordulok segítségért!!!Nagyon szépen köszönöm!
mind a két program szintaktikailag helyes?(Lefordul),a tdump mutatja is a kiért entry pointot,de delhiből való hiváskor,a c++ nem ad vissza korrekt értékekeket.
HA a delphiben kimommentezem a dll hivást,a kattingatás tökéletes(Köszönöm gyuri16)
A megadott direkt paraméterekkel is mindig 'O' jön vissza!Köszönöm!!!!
ez a c++
#ifndef _DLL_H_
#define _DLL_H_
#if BUILDING_DLL
#define DLLIMPORT __declspec (dllexport)
#define DllExport extern __declspec(dllexport)
#else /* Not BUILDING_DLL */
#endif /* Not BUILDING_DLL */
#endif
#include <stdio.h>
#include <string.h>
int sor( int mat1,int a, int b);
char mat1[10][10];
extern "C"
{
DllExport char kiert(char mat[10][10],int acol, int arow,char jatekos)
{
char c[10]=
{'1','2','3','4','5','6','7','8','9'};
return c[acol];
// return mat[1][1];
}
class DLLIMPORT DllClass
{
public:
DllClass();
virtual ~DllClass(void);
private:
};ez a dlphi kod!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;var CanSelect: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
jatekos:char;
i:integer;
j:integer;
Form1: TForm1;
Type mat= array [1..10,1..10] of char;
function kiert(mat: mat;acol: integer;arow: integer;jatekos:char):char; stdcall; external 'Projekt1.dll';
implementation
{$R *.dfm}
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,ARow: Integer; var CanSelect: Boolean);
var
mat1:mat;
begin
if StringGrid1.Cells[ACol, ARow] <> '' then
exit
else
StringGrid1.Cells[ACol, ARow]:=jatekos;
if jatekos='O' then
jatekos:='X'
else
jatekos:='O';
// mat1[Acol,Arow]:= jatekos;
mat1[1,1]:= jatekos;
//Showmessage( kiert(mat1,1,1,jatekos));
//Showmessage( kiert(mat1,acol,arow,jatekos));
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
j:integer;
begin
jatekos:='X';
for i:=1 to 10 do
for j:=1 to 10 do
StringGrid1.Cells[i,j]:= '';
end;
end.
Új hozzászólás Aktív témák
- Logitech G51 5.1 hangrendszer / megkimélt állapot / tökéletesen működik / szép hangzás
- Dell Latitude 5570- 15,6" - I7 6820HQ 16Gb - Radeon 8670
- ZBook Fury 15 G7 15.6" FHD IPS i7-10850H RTX 3000 32GB 1TB NVMe magyar vbill ujjlolv IR kam gar
- T14 Gen1 27% 14" FHD IPS Ryzen 5 PRO 4650U 16GB 512GB NVMe új akku gar
- Gamer PC komplett konfiguráció eladó
- BESZÁMÍTÁS! ASUS ROG STRIX RTX 3070Ti 8GB videokártya garanciával hibátlan működéssel
- RAKTÁRKISÖPRÉS! Eladó projektorok!
- STANDARD Setup! Már kamatmentes rèszletre is! Èrdeklődj!
- LG 35WN75C-B - 35" Ívelt VA - 3440x1440 - 100Hz 5ms - USB Type-C 60W - AMD FreeSync - HDR 10
- Samsung Galaxy A50 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


