Thema: Delphi EInvalidPointer in dll

Einzelnen Beitrag anzeigen

Capa

Registriert seit: 26. Okt 2003
102 Beiträge
 
RAD-Studio 2010 Arc
 
#15

Re: EInvalidPointer in dll

  Alt 30. Mär 2010, 08:38
es sind doch alle exports stdcall

so und ich habs nun auch mit FreeAndNil(printerlist); bzw mit printerlist.free; versucht aber am ende bekomm ich immernoch den fehler.

Edit: wenn ich das Programm ohne delphi starte dann bekomm ich vo windows nur dieses report an windows fenster aber keine invalid Pointer fehlermeldung mehr.

So hab den Source mal aktualisiert bekomme trotz des rausnehmens vom string immernoch die fehlermeldung beim beenden.

Aktuelle Funktion:

Delphi-Quellcode:
function Druckerauslesen():Pchar; stdcall;
  var printerlist: tstringlist;
          ResStr : array[0..255] of char;
        mainprint: PChar;
begin
  GetProfileString('Windows','device','',ResStr,255);

  printerlist := TStringlist.Create;
  printerlist.AddStrings(printer.printers);
  mainprint := PChar(StrPas(ResStr));
  printerlist.Add('');
  printerlist.Add(Copy(mainprint,0,pos(',',mainprint)-1));

  result:=printerlist.GetText;
  printerlist.free;
end;
und Aufrufen tue ich das mit :
  ShowMessage(StrPas(Druckerauslesen));
  Mit Zitat antworten Zitat