AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Was ist & bei C

Ein Thema von matashen · begonnen am 19. Mär 2007 · letzter Beitrag vom 19. Mär 2007
Antwort Antwort
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#1

Was ist & bei C

  Alt 19. Mär 2007, 14:52
Hallo zusammen,

ich bin zur Zeit dabei eine Anwendung für WinCE mit Lazarus zu schreiben (Delphi kanns ja leider noch nicht). Dabei muß ich den PDA auf ein Netzlaufwerk mappen. Eigentlich null problemo dachte ich, hatte ich auch schon xmal gemacht.

Funzte aber nicht mit meinen Routinen da WNetAddConnection2W auf WinCE nicht existiert.

Nach googeln bin ich dann auf WNetAddConnection3 gestoßen. Gut dann schreib ichs halt so! denkste !

beim Compilen sagt mir dann Lazarus bei folgendem Code

Delphi-Quellcode:
function ConnectToNetworkDriveW(LocalName: WideString; RemoteName: wideString; Username: WideString; Password: WideString;
  RestoreAtLogon: boolean): DWORD;
var
  nres : TNetResource;
  dwFlags : DWORD;
begin
  dwFlags := 0;
  FillChar(nres, SizeOf(nres), #0);
  with Nres do
  begin
    dwType := RESOURCETYPE_DISK;
    lpLocalName := PWideChar(LocalName);
    lpRemoteName := PwideChar(RemoteName);
    lpProvider := nil;
  end;

  if (RestoreAtLogon) then
    dwFlags := dwFlags or CONNECT_UPDATE_PROFILE;
  Result := wNetAddConnection3(form3.handle,nres, PWideChar(Password), PWideChar(Username), dwFlags);
end;
Unit2.pas(60,49) Error: Incompatible type for arg no. 2: Got "NETRESOURCE", expected "LPNETRESOURCE"

Also googel ich schon den ganzen nachmittag und bin auf folgenden C# Code gestoßen
Zitat:
#include "windows.h"
#include "winnetwk.h"
#include "aygshell.h" //Shell API

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd) {

NETRESOURCE ns;
DWORD lLastError = NO_ERROR;

ns.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
ns.dwScope = 0;
ns.dwType = RESOURCETYPE_ANY;
ns.dwUsage = 0;
ns.lpComment = NULL;
ns.lpLocalName = _T("fileshare");
ns.lpProvider = _T("Microsoft Windows Network");
ns.lpRemoteName = _T("\\\\<NetBios-Name>\\<Share-Name>");

lLastError = WNetAddConnection3(NULL, &ns, _T("<password>"), _T("<username>"), CONNECT_UPDATE_PROFILE);
Meine Frage:
was heißt das & vor dem ns in der letzten Zeile und wie krieg ich das in Lazarus hin.
Im struct von Lazarus steht:
Delphi-Quellcode:
║ NETRESOURCE = record
║ dwScope : DWORD;
║ dwType : DWORD;
║ dwDisplayType : DWORD;
║ dwUsage : DWORD;
║ lpLocalName : LPTSTR;
║ lpRemoteName : LPTSTR;
║ lpComment : LPTSTR;
║ lpProvider : LPTSTR;
end;
║ LPNETRESOURCE = ^NETRESOURCE;
Und ich steh irgendwie auf dem Schlauch....

ich hoffe ihr könnt mir helfen

Danke!
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#2

Re: Was ist & bei C

  Alt 19. Mär 2007, 14:59
& ist in diesem Fall der Referenzierungsoperator, &a liefert also die Adresse von a zurück.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Was ist & bei C

  Alt 19. Mär 2007, 15:01
und die delphi entsprechung ist dann '@'.
Lukas Erlacher
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#4

????? Was ist & bei C

  Alt 19. Mär 2007, 15:10
Dickes Dankeschön , der Compiler meckert nicht mehr. @ hab ich glaub noch nie gebraucht

Hab aber mit ewigen Probieren noch ein paar Fehler reingebracht!

Aber das werd ich schon selber lösen.
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz