Hollosi Information eXchange /HIX/
HIX CODER 1255
Copyright (C) HIX
2001-08-03
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 C++ DLL hivasa Delphibol (mind)  32 sor     (cikkei)
2 program kilovese (mind)  6 sor     (cikkei)
3 RE: *** HIX CODER *** #1254, i/o (mind)  44 sor     (cikkei)
4 Re: Sinus, Cosinus, geoetria (mind)  27 sor     (cikkei)
5 Re: Delphi DLL func hivas ket PChar (mind)  32 sor     (cikkei)
6 re: Delphi DLL func hivas ket PChar változóval (mind)  27 sor     (cikkei)

+ - C++ DLL hivasa Delphibol (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Tegnapi kis problemammal nem boldogulvan, kozze tennem a forrast is. Aki tud se
gitsen egy legyszivesert.
//C++ DLL:
extern "C" __declspec(dllexport) int WINAPI Test1(char *xHostIP,char *xSendStr)
{
   sprintf(xHostIP,"-- xHostIP --\0");
   sprintf(xSendStr,"-- xSendStr --\0");
   return 1;
}
//Delphi hivas:
function Test1(xHostIP: PChar; xSendStr: PChar
  ) : Integer; external 'FexSSL1.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
   i:Integer;
   xSendStr: string;
   xHostIP: string;
;

Elore is koszi
fex

(webes bekuldes, a bekuldo gepe: pretoria-54.budapest.interware.hu)
+ - program kilovese (mind) VÁLASZ  Feladó: (cikkei)

sziasztok

Egy kerdes, Ki lehet valahogy loni(bezaratni) win98 dos shell bol egy windows
alkalmazast ?

druss42
+ - RE: *** HIX CODER *** #1254, i/o (mind) VÁLASZ  Feladó: (cikkei)

... hogy Delphiben, vagy
> TP ben, hogy tudnék printer portot programozni.
> Ledeket szeretnék villogtatni, vagy fordítva,
> tehát megy-e 5V a bemenetekre vagy sem.
>
	Hirtelen csak C-ben van megoldasom, de ezt pillanat alatt at lehet
Pascalra irni.

	Szia: Feri.

	void Set_P_Data(unsigned int p_portnum, unsigned int D){
	unsigned int pc = 0;
		if ((p_portnum > 2) || (p_portnum < 1)) p_portnum = 2;
		switch (p_portnum){
			case 1: pc = 0x0378;
							break;
			case 2: pc = 0x0278;
							break;
		}
		_outp(pc, (_inp(pc) | D));

	/*
	  (9) D7,	(18) GND
	  (8) D6,	(19) GND
	  (7) D5,	(20) GND
	  (6) D4,	(21) GND
	  (5) D3,	(22) GND
	  (4) D2,	(23) GND
	  (3) D1,	(24) GND
	  (2) D0,	(25) GND
	*/
	};

	void Clear_P_Data(unsigned int p_portnum, unsigned int D){
	unsigned int pc = 0;
		if ((p_portnum > 2) || (p_portnum < 1)) p_portnum = 2;
		switch (p_portnum){
			case 1: pc = 0x0378;
							break;
			case 2: pc = 0x0278;
							break;
		}
		_outp(pc, (_inp(pc) & (0xff - D)));
	};
+ - Re: Sinus, Cosinus, geoetria (mind) VÁLASZ  Feladó: (cikkei)

Hell CODERek!

> Szuksegem lenne arra, mikent szamolhato ki egy radianban megadott szog
> sinusa, illetve cosinusa, azaz mit tartalmaz a Sin es a Cos fuggveny. Ha
> lehet, ne az Assemblys megoldast kuldjetek el! :)
Vannak sinus szamolo eljarasok (pl. a Pascal-e), amik eleve radianban
kerik az erteket.
De atszamolhatod ugy az ertekeket, hogy:
1 radian = 180/pi fok.(180/pi = kb. 57.3, csak hogy ertsd, mire gondolok)

Szoval, ha a fuggvenyed fokokban szamol, akkor csinald igy:
x = a megadott szog radianban
Sinus( x * 180 / pi )

Remelem, igy gondoltad...

> Emellett adodott egy geometriai problemam, ami elso hallasra egyszerunek
> tunik, de sehogy sem tudtam megoldani:
>
> Adott egy hur, es a hozza tartozo koriv. Mekkora a kor sugara. Egy dolog
> biztos: egyertelmuen fuggvenye a hurhossza a sugarnak es a korivnek, tehat
> megoldas biztosan van.
>
> Elore is koszonom a segitseget!

-- 
| Cumi  |  mailto:      |
+ - Re: Delphi DLL func hivas ket PChar (mind) VÁLASZ  Feladó: (cikkei)

Mivel csak maganba nem sikerult, igy akkor ide is :

 > Egy DLL-ben szereplő függvényt szeretnék elérni Delphibol. Az
eredeti func
C++-ban van irva:
extern "C" __declspec(dllexport) int WINAPI Test1(char *xHostIP,char *xSendStr)
{Itt a ket string erteke megvaltozik !}

Ezzel a Delphi koddal szeretnem elerni:
function Test1(var xHostIP: PChar ;xSendStr: PChar) : Integer; external 'FexSSL
1.dll';

--=< >=--

Aljas modon nem probaltam ki, de vhogy igy allnek neki :

type TTest1=function( var xHostIP, xSendStr : PChar): Integer; stdcall;
// ha jol ertettem, akkor a C & Delphi mashogy kezeli a stack-ot. A
'STDCALL' C szeru kezelest ir elo

var Test1 : TTest1;
   dllHandle : THandle;
;

// innen-onnan olloztam, ugyhogy lehet, hogy sok baja lesz :)

Udv: Tibor
+ - re: Delphi DLL func hivas ket PChar változóval (mind) VÁLASZ  Feladó: (cikkei)

Hello,

> Felado :  [Hungary]

Azert krepal be a programod, mert a PChar egy eleg dinamikus dolog, tehat
az altala foglalt memoria anny byte, ahny karakter van benne, plusz a
vegen egy #0 Ha ures a string amit atadsz, akkor baj lehet, mert a C-s Dll
klasszul beleirja a szoveget az 1 byte meretu mem teruletedre.

Ugy talan megoldhato a dolog (nem probaltam ki, de most ez jutott az eszembe)
hogy elore lefoglalasz a PChar-odnak egy eleg nagy helyet, amibe nyugodtan lehe
t irkalni.
pl:

var p:pointer;
     lpS:PChar;

getmem(p,16384);
lpS:=p;    // ha igy nem megy, akkor talan:  lpS:=pchar(p);

{DLL hivas}

Szerintem igy mukodhet a dolog. A vegen valoszinuleg fel kell szabaditani a P-t
 -> freemem(p);

udv:
-marci

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS