Avatar billede ziron Nybegynder
12. marts 2001 - 00:34 Der er 39 kommentarer og
1 løsning

besked over NT

hvis jeg skal bruge:

NET_API_STATUS NetMessageBufferSend...

Hvad skal jeg så gøre, for jeg kan ikke få det til at virke, skal man bruge noget i users???

/ZIRON
Avatar billede borrisholt Novice
12. marts 2001 - 06:31 #1
ZIRON >> Fejlen er ikke din men Borlands hele NET API er ikke protet til Delphi .... Så det er su nød til selv at gøre. skal du bruge NetMessageBufferSend() skal du således skeive det følgende :


function NetMessageBufferSend(servername, msgname, fromname : LPTSTR; buf : PBYTE;  buflen : DWORD) : DWORD; stdcall; external NETAPI;
//The NetMessageBufferSend function sends a buffer of information to a registered message alias.


Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 12:38 #2
okay, nu har jeg siddet og leget lidt med det og jeg får denne fejl:

[Error] Unit1.pas(32): Undeclared identifier: \'NETAPI\'

hvad kan grunden være???

/ZIRON
Avatar billede borrisholt Novice
12. marts 2001 - 12:44 #3
undskyld min fejl :

  const
    NETAPI                    = \'netapi32.dll\';


Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 14:04 #4
Borrisholt du skulle vel ikke lige have et eks. dom jeg måtte kigge på, jeg kan nemmelig ikke rigtig få det til at virke???

/ZIRON
Avatar billede borrisholt Novice
12. marts 2001 - 14:06 #5
ziron  >> Ikke lige på den funktion  men andre NetAPI eksempkler .. held mig en mail ... Jens@Borrisholt.com

Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 14:08 #6
jeg vil da godt se de andre???

ziron@wanadoo.dk

/ZIRON
Avatar billede ziron Nybegynder
12. marts 2001 - 14:11 #7
tak skal du have... jeg vil lige kigge på det...
Avatar billede ziron Nybegynder
12. marts 2001 - 14:25 #8
under Netmessagebuffersend skal man definere \"LPBYTE buf og  DWORD buflen\" hvad kunne man skrive i dem????

lidt død...

/ZIRON
Avatar billede borrisholt Novice
12. marts 2001 - 14:28 #9
ZIRON >> C++ er ikke lige din stærke side ? :-(

Citat fra MSDN :

Parameters

servername
  [in] Pointer to a constant Unicode string specifying the name of the remote server on which the function is to execute. The string must begin with \\\\. If this parameter is NULL, the local computer is used.

msgname
  [in] Pointer to a constant Unicode string specifying the message alias to which the message buffer should be sent.
fromname

  [in] Pointer to a constant Unicode string specifying who the message is from. If this parameter is NULL, the message is sent from the local computer name.

buf
  [in] Pointer to a buffer that contains the message text.

buflen
  [in] Specifies a DWORD value that contains the length, in bytes, of the message text pointed to by the buf parameter

Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 14:31 #10
ja det har jeg fundet frem til, men jeg tænkte på i \"DWORD buflen\" om man ikke skal gå ud og finde ud af hvor meget den text man sender fylder????

/ZIRON
Avatar billede borrisholt Novice
12. marts 2001 - 14:33 #11
Jo ... Brug Length() :-) Den retunerer dig længden af end streng og det er det stopper du ind i sidst argument.

Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 14:41 #12
hvad så med LPBYTE buf???
Avatar billede borrisholt Novice
12. marts 2001 - 14:53 #13
en pchar
Avatar billede ziron Nybegynder
12. marts 2001 - 14:54 #14
ja men hvad kan der stå i den???
Avatar billede borrisholt Novice
12. marts 2001 - 14:57 #15
HEST vil være et godt bud ..

Hvad skal der stå i en  ShowMessage ?

Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 15:03 #16
en string vile være godt...

ikke helt med, hvis det er du har tid så kunne du jo kigge her:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function NetMessageBufferSend(servername, msgname, fromname : LPTSTR; buf : PBYTE;  buflen : DWORD) : DWORD; stdcall; const NETAPI = \'netapi32.dll\';
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
NetMessageBufferSend(pchar(edit1.text), pchar(edit2.text), pchar(edit3.text), nil, Length(edit2.text));
end;

end.

/ZIRON
Avatar billede ziron Nybegynder
12. marts 2001 - 15:53 #17
okay det kunne du vist ikke helt lide :-)
Avatar billede borrisholt Novice
12. marts 2001 - 15:55 #18
Ziron >> Jeg har ikke kigget på det .... Arbejde du ved ...
Avatar billede ziron Nybegynder
12. marts 2001 - 15:57 #19
nej bare rolig jeg hygger mig med en fysik rapport...

/ZIRON
Avatar billede borrisholt Novice
12. marts 2001 - 15:58 #20
ååja those where the days ......

Nyd din frihed mens du har den ...

Jens B
Avatar billede ziron Nybegynder
12. marts 2001 - 15:59 #21
tak skal du have...

/ZIRON
Avatar billede ziron Nybegynder
14. marts 2001 - 09:03 #22
borrisholt >> du skulle vel ikke have fundet ud af noget??? jeg står nemmelig og godt kunne bruge det nu...

/ZIRON
Avatar billede ziron Nybegynder
14. marts 2001 - 09:05 #23
hvor har du endelig fundet frem til at det er delhpi\'s NETAPI der ikke virker, og hvor har du fundet ud af hvad man så skal gøre???

/ZIRON
Avatar billede borrisholt Novice
14. marts 2001 - 13:08 #24
ZIRON >> prøv den her pus og tør så øjenene :

  NetMessageBufferSend(pchar(edit1.text), pchar(edit2.text), pchar(edit3.text), PByte(Pchar(\'Hest\')), Length(edit2.text));


Jens B
Avatar billede ziron Nybegynder
14. marts 2001 - 13:30 #25
tak men det virker stadig ikke...

det skal bare ind i stedet for:

procedure TForm1.Button1Click(Sender: TObject);
begin
NetMessageBufferSend(pchar(edit1.text), pchar(edit2.text), pchar(edit3.text), nil, Length(edit2.text));
end;

???

/ZIRON
Avatar billede borrisholt Novice
14. marts 2001 - 13:50 #26
yep !
Avatar billede ziron Nybegynder
14. marts 2001 - 13:52 #27
skal jeg tilføje netapi32.dll???

/ZIRON
Avatar billede borrisholt Novice
14. marts 2001 - 13:58 #28
nej nej ...

Du skal bare mappe funktionen :

function NetMessageBufferSend(servername, msgname, fromname : LPTSTR; buf : PBYTE;  buflen : DWORD) : DWORD; stdcall; const NETAPI = \'netapi32.dll\';


Ellers kan du jo blot inkludere den pas fil som fulgte med den der NT user list ting jeg sendte dig ....

Jens B
Avatar billede ziron Nybegynder
14. marts 2001 - 14:00 #29
det vil ikke men vil lige prøve med din fil...

/ZIRON
Avatar billede ziron Nybegynder
14. marts 2001 - 14:23 #30
jeg kan heller få din fil til at virke.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, netapi32;

type
  TForm1 = class(TForm)
    edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);
begin
NetMessageBufferSend(pchar(edit1.text), pchar(edit2.text), pchar(edit3.text), PByte(Pchar(\'Hest\')), Length(edit2.text));

end;

end.

burde den ikke se sådan ud med din fil og så virke???

/ZIRON
Avatar billede borrisholt Novice
14. marts 2001 - 14:25 #31
NEJ !!!ALT hvad du ska bruge fra NET APi skal du selv mappe :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, netapi32;

type
  TForm1 = class(TForm)
    edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


function NetMessageBufferSend(servername, msgname, fromname : LPTSTR; buf : PBYTE;  buflen : DWORD) : DWORD; stdcall; const NETAPI = \'netapi32.dll\';

implementation

{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);
begin
NetMessageBufferSend(pchar(edit1.text), pchar(edit2.text), pchar(edit3.text), PByte(Pchar(\'Hest\')), Length(edit2.text));

end;

end.

SÅDAN her !

Jens B
Avatar billede ziron Nybegynder
14. marts 2001 - 14:42 #32
jeg får denne fejl:

[Error] Unit1.pas(29): Unsatisfied forward or external declaration: \'NetMessageBufferSend\'

skal \"function NetMessageBufferSend\" stå foran \"implementation {$R *.DFM}\" og ikke efter???

Har du selv prøvet den??? for jeg kan bare ikke få det til at køre...

/ZIRON
Avatar billede borrisholt Novice
14. marts 2001 - 14:46 #33
sådan her helt efter bogen ...

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, netapi32;

type
  TForm1 = class(TForm)
    edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

const
    NETAPI                    = \'netapi32.dll\';

function NetMessageBufferSend(servername, msgname, fromname : LPTSTR; buf : PBYTE;  buflen : DWORD) : DWORD; stdcall; external NETAPI;
//The NetMessageBufferSend function sends a buffer of information to a registered message alias.


implementation

{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);
begin
  NetMessageBufferSend(pchar(edit1.text), pchar(edit2.text), pchar(edit3.text), PByte(Pchar(\'Hest\')), Length(edit2.text));

end;

end.

SLUT her fra.

Jens B
Avatar billede ziron Nybegynder
14. marts 2001 - 14:51 #34
jeg må være total dum... det vil bare ikke...

en sidste ting, du har vel lige skrevet det ind i delphi så kunne jeg ikke få dig til at sende det så kunne jeg selv kigge på projektet???

ziron@wanadoo.dk

ellers så skal du have tak for hjælpen, det var jo lidt af et svar.

/ZIRON
Avatar billede ziron Nybegynder
14. marts 2001 - 15:01 #35
tak for det... den natapi32.dll er jeg skal tilføje er bare den jeg fik fra dig ik\'???

/ZIRON
Avatar billede borrisholt Novice
14. marts 2001 - 15:03 #36
natapi32.dll er en standard del af din windows så du skal bare skrive kode præcis som det tilsendte ....

Jens B
Avatar billede ziron Nybegynder
14. marts 2001 - 16:27 #37
så laver den en felj i uses når den kommer til \"NETAPI32\"???

/ZIRON
Avatar billede ziron Nybegynder
23. april 2001 - 00:11 #38
borrisholt er det okay at jeg lukker da dette ikke kunne hjælpe mig og jeg har jo fået det til???

/ZIRON
Avatar billede borrisholt Novice
23. april 2001 - 07:50 #39
ZIRON >> Det lille komponent jeg sendte dig, burde vel etenlig også besvare dette spørgsmål ?

Jens B
Avatar billede ziron Nybegynder
23. april 2001 - 10:08 #40
JAAA det er da rigtig nok, meeen så lad gå :-)

/ZIRON
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester