AGB  ·  Datenschutz  ·  Impressum  







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

Resourcen und LoadFromStream

Ein Thema von Jelly · begonnen am 28. Jul 2005 · letzter Beitrag vom 28. Jul 2005
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Resourcen und LoadFromStream

  Alt 28. Jul 2005, 12:36
Also irgendwie hab ich ein merkwürdiges Verhalten beim Schliessen einer Form. Deshalb mal hier meine Bitte, sich den Code anzuschauen. Ich lade aus einer Resource einen einfachen Text, in diesem Fall eine Datenbank Skript, und möchte dies ausführen. Das tuts auch, jedoch beim Schliessen der Form krige ich eine Schutzverletzung... Hier mal der Code, wo ich ziemlich sicher bin, daß der mit dem Problem zusammenhängt:
Delphi-Quellcode:
     res := TResourceStream.Create(hinstance,'emptydb', RT_RCDATA);
     try
        res.Position := 0 ;
        qryNewDB.SQL.LoadFromStream(res);
     finally
        res.free ;
     end ;
In qryNewDB steht anschliessend eigentlich das korrekte Skript drin, und wird auch korrekt ausgeführt. Die Schutzverletzung tritt erst auf, wenn ich die Form schliesse. Auch, wenn ich das Skript aus der Resource lade, und es NICHT ausführe, sondern einfach wieder das Form schliesse, kommts zur Fehlermeldung. Lasse ich den geposteten Code weg, so klappts.

Wo liegt denn da der Haken. Gehe ich falsch mit den Resourcen um, oder wie?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Resourcen und LoadFromStream

  Alt 28. Jul 2005, 13:30
Hi Tom,

Zitat von Jelly:
Hier mal der Code, wo ich ziemlich sicher bin, daß der mit dem Problem zusammenhängt
der gezeigte Code verursacht den Fehler wohl nicht. Ich verwende ihn auch so - bis auf das Setzen von Position, da es überflüssig ist.

Grüße vom marabu
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Resourcen und LoadFromStream

  Alt 28. Jul 2005, 14:02
Probier's mal mit except statt finally.

Ich hab mal folgenden Code probiert:

Delphi-Quellcode:
var
  f:file;
begin
  try
    erase(f);
    erase(f);
  finally
    showmessage('fertig');
  end;
end;
Zuerst zeigt er die Meldung FERTIG und dann eine Fehlermeldung.

Wenn ich

Delphi-Quellcode:
var
  f:file;
begin
  try
    erase(f);
    erase(f);
  except
    showmessage('fertig');
  end;
end;
nehme, zeigt er nur FERTIG.
Michael Enßlin
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Resourcen und LoadFromStream

  Alt 28. Jul 2005, 14:07
Zitat von Jelly:
Wo liegt denn da der Haken. Gehe ich falsch mit den Resourcen um, oder wie?
Sieht eigentlich ganz gut aus, das sollte so keine Probleme machen.

Bist Du sicher, das es an den Resourcen liegt?
Kommentier mal die Zeilen aus und mach ein ...sql.loadfromfile('blabla.sql');
Tritt der Fehler dann immer noch auf, ist es definitiv kein Resourcen Problem.

Evtl. interessiert Dich auch folgendes Tutorial:

Tutorial: SQL-Dateien als Resource einbinden
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Resourcen und LoadFromStream

  Alt 28. Jul 2005, 14:10
Zitat von ichbins:
Probier's mal mit except statt finally.
Nein !

try ... finally ... end; wird verwendet um auf jeden Fall ein mit ...Create(...); erzeugtes Objekt wieder mit Free aus dem Speicher zu entfernen. Das ist schon richtig an dieser Stelle.

Schau mal in der Onlinehilfe bei Try nach, dort steht das auch noch mal ausführlich.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Resourcen und LoadFromStream

  Alt 28. Jul 2005, 14:11
Also nach noch weiterem Rumtesten liegt es wohl doch nicht nur an den Resourcen. Meines Achtens wurden zuviele weitere Units crosslinked, und das scheint wohl irgendwie die eine oder andere Schutzverletzung auszulösen. Ich hab jetzt mal die Unit als eine eigensatändiges Projekt kompiliert, und alle überflüssigen Units rausgeschmissen, und jetzt scheints zu klappen. Naja, verstehe wer will. Denn, die Schutzverletzung trat auch erst auf, nachdem ich von den Zeos Komponenten zu den MyDAC Komponenten umgestiegen bin. In irgendeiner Form scheints auch daran gelegen zu haben.
  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 16:02 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