Hallo zusammen!
Ich arbeite an einem Programm, welches mir zu beginn die Bildschirmbreite bzw. Bildschirmhöhe ermitteln soll und mir dann eine DLL aufrufen soll, welche die Werte abfragt. Bei bestimmten Auflösungen sollen bestimmte Bilder geladen werden, jedoch funz das ganze in der DLL nicht.
Mit der Fehlermeldung kann ich leider auch nichts anfangen:
"Access violation at adress 003720EB in module 'Project2.dll'. Read of adress 000002F8."
Hier mal der Code des Programms:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.FormCreate(Sender: TObject); var breite, hoehe : integer; begin breite := screen.Width; hoehe := screen.Height; screenmaking(breite,hoehe); end; |
... und hier die DLL:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| library Project2;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Unit1 in 'UNIT1.PAS' ;
{$R *.res}
procedure screenmaking(a,b:integer);stdcall; begin if (a = 1280)AND(b = 800) then begin showmessage('Deine Auflösung: '+inttostr(a)+', '+inttostr(b)); Form1.IMG.Picture.LoadFromFile('test.bmp'); end; end;
exports screenmaking; begin showmessage('Programm wird geladen ..'); end. |
Was muss ich da ändern, damit er mir das Bild lädt?
Würde mich über jede hilfreiche Antwort freuen!
LG, Anisas