[delphi] DLL + TextFile - dziwny problem

0

hi all, mam takie dwa kodziki:

library mydll;
                
uses
  SysUtils,
  Classes, windows, messages, dialogs;

var file_dat : Pchar = 'baza.txt';

procedure Load; stdcall;
var t:TextFile;
begin
  showmessage('1');
  AssignFile(t, file_dat); // <-- tu się wykrzacza
  showmessage('2');   // <-- tego już nie pokazuje
  reset(t);
  closefile(t);
end;

{$R *.res}

exports
  Load name 'Load';

begin
end.
/////////////////////////////
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;
var
  Form1: TForm1;

procedure Load; stdcall; external 'mydll.dll' name 'Load';
               
implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Load;
end;    
end.

pokazuje się pierwszy message, i potem jest błąd - o co może chodzić ??

0
var file_dat : Pchar = 'baza.txt';

Na kij ci PChar? O ile wiem, nazwa pliku to zwykły string. Ja bym to zrobił tak (jak juz koniecznie chcesz miec nazwe pliku zahardcodowaną):

const file_dat = 'baza.txt';
0

dzięki, nie wpadł bym na to w życiu :d
dlaczego ? pytasz, więc z przyzwyczjenia, że to dll, a tam jak wiadomo string nie ma racji bytu :D poprawiłem na shortstring i śmiga.

Jeszcze raz wielkie dzięki :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1