AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi 3 Fragen zu DLLs als Resource Datei für Text und Bilder
Thema durchsuchen
Ansicht
Themen-Optionen

3 Fragen zu DLLs als Resource Datei für Text und Bilder

Ein Thema von Karsten · begonnen am 22. Nov 2003 · letzter Beitrag vom 26. Nov 2003
Antwort Antwort
Seite 2 von 2     12   
Karsten

Registriert seit: 5. Sep 2003
56 Beiträge
 
Delphi 6 Personal
 
#11

Re: 3 Fragen zu DLLs als Resource Datei für Text und Bilder

  Alt 23. Nov 2003, 12:43
Hallo,

@scp
so in der Art hatte ich es ja auch am Anfang. Nur befindet sich in der dll 'ne absolut Optionale Funktion die wenn die dll sich im Programm-Verzeichnis befindet bein Programmstart ausgeführt wird und der Vorschlag von OLI_T klingt irgendwie gut.

Im grunde ist es relativ egal wo die Funktionen sich befinden aber hier ist es jetzt zu einer Frage der Ehre geworden. Die Lesefunktion muß aus der dll exportiert werden weil ich es jetzt so angefanen habe, irgendwie muß es funktionieren und es gilt jetzt herauszufinden wo bei mir das Problem ist.

Ich sehe das ganze eher als Vorbereitung auf eine weiterführende Benutzung von dll-Dateien.

@Luckie

Delphi-Quellcode:
function GetImage(Index: Integer): TImage; stdcall;
var
  LoadPic: String;
  TempJpeg:TJpegImage;
  ResStream: TResourceStream;
begin
  Result := nil;
  
  LoadPic := 'Bild' + IntToStr(Index);
  ResStream := TResourceStream.Create(HInstance, LoadPic, 'JPEG');
  TempJpeg := TJpegImage.Create;

  try
    TempJpeg.LoadFromStream(ResStream);
    Result.Picture.Bitmap.Assign(TempJpeg);
  finally
  
  ...
Ich habe HInstance als Handle angegeben, klingt irgendwie logisch. Dummerweise bekomme ich eine Fehlermeldung bein Ausführen des Progs:

Access violation at address 01301805 in Module 'MYDLL.DLL'. Read of address FFFFFFFF.

Ich denke mal das es sich hierbei um
TempJpeg.LoadFromStream(ResStream); handeln kann.

Wie kann ich ein Tracing in der dll bewerkstelligen ? Oder hat jemand eine Idee was hier falsch sein könnte ?


Gruß,
Karsten
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#12

Re: 3 Fragen zu DLLs als Resource Datei für Text und Bilder

  Alt 23. Nov 2003, 22:45
Zitat von Karsten:
Hallo,

@scp
so in der Art hatte ich es ja auch am Anfang. Nur befindet sich in der dll 'ne absolut Optionale Funktion die wenn die dll sich im Programm-Verzeichnis befindet bein Programmstart ausgeführt wird und der Vorschlag von OLI_T klingt irgendwie gut.

Im grunde ist es relativ egal wo die Funktionen sich befinden aber hier ist es jetzt zu einer Frage der Ehre geworden. Die Lesefunktion muß aus der dll exportiert werden weil ich es jetzt so angefanen habe, irgendwie muß es funktionieren und es gilt jetzt herauszufinden wo bei mir das Problem ist.

Ich sehe das ganze eher als Vorbereitung auf eine weiterführende Benutzung von dll-Dateien.
Das du die andere Variante zum laufen kriegen willst kann ich jetz verstehen.
Aber noch etwas zu meiner Variante: Wenn du genauer hinsiehst, die Funktion wird ja nur aufgerufen, wenn die DLL vorhanden ist und die Funktion auch. Ansonsten würde nichts passeieren, auch kein Fehler. Deshalb kann die DLL auch optional sein.
  Mit Zitat antworten Zitat
Karsten

Registriert seit: 5. Sep 2003
56 Beiträge
 
Delphi 6 Personal
 
#13

Re: 3 Fragen zu DLLs als Resource Datei für Text und Bilder

  Alt 24. Nov 2003, 10:21
@scp

natuerlich hast Du mit Deiner Aussage recht, es gibt halt diese 2 Wege. Nur waehre die komplette Auslagerung in die dll mal 'ne klasse Uebung fuer weitere dll-vorhaben. Ich denke sogar das sich in meinem aktuellen Fall der Code eher verdoppelt wenn ich die Funktionen in die dll auslagere. Es ist halt 'ne Frage der Ehre.

Sollte ich bis Ende der Woche meine dll nicht 100 %ig am Laufen haben, dann werde ich die Funktionen wieder in das Hauptprogramm verlagern und dann hat Samurei keine Ehre mehr .

Aber Samurei kann auch nicht mit der staendig auftretenden Fehlermeldung leben.

Gruss,
Karsten
  Mit Zitat antworten Zitat
Karsten

Registriert seit: 5. Sep 2003
56 Beiträge
 
Delphi 6 Personal
 
#14

Re: 3 Fragen zu DLLs als Resource Datei für Text und Bilder

  Alt 26. Nov 2003, 22:38
Hallo,

ich kämpfe noch.

Innerhalb der dll habe ich ja die Funktion GetImage definiert. Da ich nicht weiß wie ich ein Tracing innerhalb der dll bewerkstellige habe ich einfach mehrere ShowMessage eingefügt.

Code:
function GetImage(Index: Integer): TImage; stdcall;
...
  Result := nil;
 
  LoadPic := 'Bild' + IntToStr(Index);

  ShowMessage(LoadPic);      <-- Ist in der Resource Datei, kann also nicht das Problem sein

  ResStream := TResourceStream.Create(HInstance, LoadPic, 'JPEG');

  try
    TempJpeg.LoadFromStream(ResStream);

    ShowMessage('Loaded from Stream');

    Result.Picture.Bitmap.Assign(TempJpeg);

    ShowMessage('Assigned to picture');

...
Beim durchlaufen des codes habe ich festgestellt das die Zeile
Code:
    Result.Picture.Bitmap.Assign(TempJpeg);
die Fehlermeldung liefert.

Was ich jetzt bisher noch nicht weiß ist ob das TempJpeg.LoadFromStream(ResStream); ins Leere greift und in TempJpeg kein gültiges Bild geladen wurde oder ob es wirklich Result.Picture.Bitmap.Assign(TempJpeg); ist was den Fehler verursacht.

Access violation at address 01301805 in Module 'MYDLL.DLL'. Read of address FFFFFFFF.

Hat hier vieleicht noch jemand eine Idee wie man das Problem noch weiter eingrenzen kann ?

Danke,
Karsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:04 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