- Autós kamerák
- AMD Navi Radeon™ RX 6xxx sorozat
- Bluetooth hangszórók
- Amlogic S905, S912 processzoros készülékek
- Itt vannak az ASUS legszerényebb NVIDIA Blackwell architektúrás VGA-i
- Vezeték nélküli fülhallgatók
- Gaming notebook topik
- Androidos fejegységek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Analóg fényképezé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. -
asimov007
csendes tag
válasz
Gyuri16 #1784 üzenetére
Kedves Gyuri 16!
Tudom,egy kissé pofátlan a kérés,de kb 1 hete használom a delphit.
Hogyan tudnám ciklusba rakni a Select -et és a rekurzivitást elkerülni!
Tényleg nagyon idegen nekem még program!
Ha szemtelennek tartasz,bátran mondd meg!!
És köszi a gyors választ
Légyszi irdd meg ,egyáltalán zavarhatlak-e hülye kédésekkel? -
asimov007
csendes tag
Sziasztok!
Nagyon gyenge vagyok delhpiböl!
El kéne egy kis segítség!!!!Miért száll el azonnal ez a gyengécske program?
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);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Type mat= array [1..10,1..10] of integer;
function kiert(mat: mat;xpos: integer;ypos: integer;jatekos:char):integer; stdcall; external 'Projekt1.dll';
implementation
{$R *.dfm}
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var mat1:mat;
vertek:integer;
jatekos:char;
i:integer;
j:integer;
b:boolean;
begin
jatekos:= 'g';
vertek:= 2;
while vertek <> 0 do
begin
if jatekos = 'g' then
jatekos:= 'j'
else
jatekos:= 'g';
StringGrid1SelectCell(Sender,acol, arow,b);
begin
if jatekos = 'g' then
StringGrid1.Cells[Acol,Arow]:='O'
else
StringGrid1.Cells[Acol,Arow]:='X';
end;
end;
end; // while
end.
Új hozzászólás Aktív témák
Hirdetés
- gban: Ingyen kellene, de tegnapra
- Milyen autót vegyek?
- PlayStation 5
- Xbox Series X|S
- Milyen légkondit a lakásba?
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- VoidXs: Tényleg minden játék optimalizálatlan?
- LED világítás a lakásban
- Okos Otthon / Smart Home
- További aktív témák...
- ZBook Fury 16 G9 16" FHD+ IPS i7-12850HX RTX A2000 32GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- AKCIÓ!!! GAMER PC: Új i5-14400F +RTX 4060/5060/4070/5070 +16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- Elite Dragonfly G3 13.5" FHD+ IPS érintő i5-1235U 16GB 512GB NVMe ujjlolv gar
- Újszerű 17.3" FHD (1920x1080) IPS 40pin 144Hz matt LED kijelző. AUO B173HAN04.9
- Lenovo kezdő laptop (i3 6th, 500 GB, 4 GB) reklámáron! AkciÓÓ!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 4070 Ti Super GAMER PC termékbeszámítással
- OnePlus 13 - Black Eclipse - Használt, karcmentes
- HP ProBook 430 G4 Pentium 4415U (bios jelszavas)
- Bomba ár! HP Elitebook 850 G3 - i7-6GEN I 16GB I 256GB SSD I RadeonI 15,6" FHD I Cam I W11 I Gari!
- Honor Pad X8 64GB, Wi-Fi, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest