Hirdetés
- Pánik a memóriapiacon
- Őrületes specifikációkkal rendelkezik a Tachyum csodaprocesszora
- Hővezető paszták
- Meghalt a Windows 10, éljen a Windows 10!
- ThinkPad (NEM IdeaPad)
- VR topik (Oculus Rift, stb.)
- Dell notebook topic
- Milyen RAM-ot vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Azonnali alaplapos 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
- Pánik a memóriapiacon
- Őrületes specifikációkkal rendelkezik a Tachyum csodaprocesszora
- BestBuy topik
- Torrent meghívó kunyeráló
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Autós topik
- Óra topik
- Hővezető paszták
- World of Tanks - MMO
- Anglia - élmények, tapasztalatok
- További aktív témák...
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPad 9th Gen 256GB, Wi-Fi+Cellular, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Apple MacBook Pro 16 M4 Pro 48GB RAM 4TB SSD macbook garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Apple iPhone XR / 128GB / Kártyafüggetlen / 12Hó Garancia / 95% akku
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- Lian Li LCD-s 360mm-es vízhűtés akciós áron eladó!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


