Hirdetés
- Vezetékes FEJhallgatók
- Vezeték nélküli fülhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Apple MacBook
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen TV-t vegyek?
- Melyik tápegységet vegyem?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Amlogic S905, S912 processzoros készülékek
- Azonnali informatikai kérdések órája
Ú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
- Eladó Karcmentes Lenovo Tablet P11 - Játékhoz és Filmhez, Strapabíró Fémház!
- HP EliteBook 840 G9 i7-1265U 32GB DDR5 512GB SSD FHD+ Érintőkijelző Garancia 2026.01.15
- HP LaserJet Toner - Fekete W9004MC ÚJ Gyári Dobozában
- MacBook Pro 14 Apple M1 Pro 2021 16GB RAM 512GB SSD 3K Retina kijelző 246 ciklus
- Hynix 4GB (2 x 2) 1066 MHz DDR3
- Samsung Galaxy S23 Ultra 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 Pro 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3384, 95% Akkumulátor
- Vadiúj gèpházak! Gamereknek ès Akiknek fontos a külső!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest