Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: NetLocalGroupAdd funktioniert nicht

  Alt 30. Sep 2007, 20:54
Zitat von Dezipaitor:
Die Befehle gibts doch schon alle in Windows.pas ?

Zitat von RWarnecke:
Hallo zusammen,

ich möchte mir ein paar Befehle aus dem MSDN Library in einer Unit zusammenschreiben. Nur irgendwie komme ich nicht ganz damit zurecht das in Delphi zuschreiben.
Hier meine Übersetzung :
Das hat schon jemand getan. Dabei kam das hier raus: http://jedi-apilib.sourceforge.net/

Wenn du Unicodeparameter verwendest, dann musst du NetLocalGroupAddW verwenden.
Das ist ja auch richtig so, nur ich mache irgendwo noch einen Fehler in der Anwendung. Um es vielleicht besser zu verstehen, wollte ich das ganze selber machen. Denn das hier erworbene Wissen kann ich ja auch auf andere API's anwenden.

Zitat von Apollonius:
Ich denke, dass für info vielleicht vor dem Zugriff Speicher alloziert werden sollte.
Ich habe das ganze jetzt mal so umgeschrieben :
Delphi-Quellcode:
function AddGroups(wServer, wGroupName, wComment : String;):DWORD;
var
  info : ^PLOCALGROUP_INFO_1;
  wTempComment : WideString;
  wTempGroupName : WideString;
  wTempServer : WideString;
  parmerr: DWORD;
begin
  wTempComment := wComment;
  wTempGroupName := wGroupName;
  wTempServer := wServer;
  parmerr := 0;
  GetMem(info,sizeOf(info));
  info^.lgrpi1_comment := PWideChar(wTempComment);
  info^.lgrpi1_name := PWideChar(wTempGroupName);
  result := NetLocalGroupAdd (PWideChar(wTempServer), 1, @info, parmerr);
end;
Nur leider bekomme ich immer noch die EAccessViolation in der Zeile 14. Das heißt also wenn ich Speicher alloziere mit GetMem hilft mir auch nicht weiter.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat