AGB  ·  Datenschutz  ·  Impressum  







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

Syntax-Datenbank

Ein Thema von Mpex · begonnen am 26. Dez 2011 · letzter Beitrag vom 28. Dez 2011
Antwort Antwort
Mpex

Registriert seit: 26. Dez 2011
12 Beiträge
 
#1

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 10:37
Guten Tag,
danke ersteinmal für die vielen schnellen Antworten. Die Delphi-Referenz und die integrierte Delphi-Hilfe werd ich mir ab jetzt aufjedenfall anschaun, bevor ich Fragen stelle, danke

Allerdings, als ich danach suchte bin ich zu ms-help://embarcadero.rs2009/delphivclwin32/ExtCtrls_TImage.html und http://docwiki.embarcadero.com/VCL/de/ExtCtrls.TImage gekommen. Falls ich nichts übersehen hab, ist dort aber auch keine Angabe zu den Units, die ich einbinden müsste (Immerhin erfährt man schonmal einiges, wenn man sich durch die weiterführenden Links klickt).

@himitsu: Ich hab ein kleines Spiel Programmiert, für das ich jetzt ersteinmal einen kleinen Hintergrund einfügen möchte. Bin aber noch äußerst unerfahren mit Delphi...

Danke nochmal für die Hilfe!

*EDIT* Wobei ihr auch sowieso recht hattet, wenn ich mal nicht so blöd gewesen wäre und das von Hand getippt, sondern das Timage einfach "reingezogen" hätte, hätte Delphi die Units auch von selbst eingebunden. Allerdings erhalte ich jetzt immer die Fehlermeldung "Exept EAcessViolation [...]" werde mal nachsehen, woran das liegt

Geändert von Mpex (27. Dez 2011 um 10:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 11:39
Schau mal, was vor TImage vorsteht: ExtCtrls ist die Unit
Die Dokumentation ist so aufgebaut: Unitname.Typ
  Mit Zitat antworten Zitat
Mpex

Registriert seit: 26. Dez 2011
12 Beiträge
 
#3

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 11:52
Achso! ...Tja, da hab ich malwieder richtig auf dem Schlau gestanden. Naja, das werd ich jedenfalls nicht nochmal falsch machen
Hab aber bis gerade mit der Fehlermeldung rumgespielt, aber ich komm nicht dahinter, was falsch ist. Kann mir jemand sagen, wie ich da ran gehen sollte? Also bitte nicht einfach die Lösung posten, will schon selbst draufkommen, sonst häng ich nächstes mal wieder da..
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#4

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 12:00
Schau mal, was vor TImage vorsteht: ExtCtrls ist die Unit
Die Dokumentation ist so aufgebaut: Unitname.Typ
Das sogar mit Absicht, denn es können ja gleichnamige Typen/Funktionen/... in unterschiedlichen Units existieren und da ist ein Namespace (hier der Unitname) schon ganz praktisch, um den Typen eindeutig zu identifizieren.

Es gibt sogar einige Typen, welche in Delphi mehrfach existieren.
TPoint, TRect und DWORD findet man z.b. in den Units Types und Windows.



Wie heißt denn die Fehlermeldung genau?

PS: In diesen Delphi-Fehlerfenstern kann man Strg+C verwenden und hat dann die ganze Meldung als Text in der Zwischenablage.
Bei den Compilerfehlern kann man (hoffentlich auch in älteren Delphis) auch die Zeile markieren und Strg+C nutzen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Dez 2011 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Mpex

Registriert seit: 26. Dez 2011
12 Beiträge
 
#5

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 12:49
Die vollständige Fehlermeldung lautet:

---------------------------
Anwendungsfehler
---------------------------
Exception EAccessViolation in Modul Test.exe bei 0006F8EE.

Zugriffsverletzung bei Adresse 0046F8EE in Modul 'Test.exe'. Lesen von Adresse 000001A8.
---------------------------
OK
---------------------------

Hört sich für mich an, als wäre etwas beim Aufrufen der Datei falsch. Ich habe sie so aufgerufen...

Delphi-Quellcode:
...
Bild1.Picture.LoadFromFile('[C:\*Pfad*]\Bild1.bmp');
...
... da ich das im WIKI so verstanden habe, oder war das falsch?

P.S: Ich habs auch schon ohne Pfad (Da sich das Bild eh im Programmordner befindet), mit Pfad, aber in einem anderen Ordner und mit anderen Dateiformaten (z.B. Jpeg mit "Jpeg" im uses-Abschnitt) versucht, hat mich aber nicht weitergebracht

Geändert von Mpex (27. Dez 2011 um 12:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 13:04
Hi,

und Bild1 ist auch der Name, den die Komponente auf deinem Formular jetzt trägt?
Oder bist du wieder von der "aufs Form ziehen"-Lösung weg und erstellst das TImage selbst im Quellcode? Falls ja, wäre der Code-Teil interessant.


LG, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#7

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 13:11
Zitat:
Lesen von Adresse 000001A8.
$00000000 + Property/Feld-Offest = nil

NIL = ein Zeiger, in dem nichts drin ist

Vermutung: Du hast vergessen die Komponente zu erstellen (wie mein Vorredner auch schon vermutete)


PS: Der Dedugger sagt dir auch noch an welcher Codezeile das passiert und dort könnte man sich dann noch die Variablenwerte ansehn und schon weißt du, was da fehlt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Mpex

Registriert seit: 26. Dez 2011
12 Beiträge
 
#8

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 13:18
Gut, das war etwas unglücklich, hab den Namen einfach mal in BildA geändert. Und ja, zum probieren hab ich das selbst in den Quellcode geschrieben, aber da gibt es sonst noch nichts sehenswertes, ich wollte ja erstmal nur testen ob das Laden des Bildes so funktioniert. Das Testprogramm sieht so aus:

Delphi-Quellcode:
program test;
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

var
BildA: Timage;
Directory:String;


procedure wait(t: longint); {W A R T E}
  var
    a: longint;
  begin
    a := GetTickCount;
    repeat
      Application.ProcessMessages;
    until (GetTickCount > a+t);
  end;


function Pfad: string; {D I R E C T O R Y}
begin
  Result := ExtractFilePath(ParamStr(0));
  Directory:=Result;
end;

begin
  Pfad;
  BildA.Picture.LoadFromFile(Directory+'\Bild1.bmp');
  wait(5000);
end.
Das ist schon alles.

@Himitsu:
Debug-Ausgabe: FTH: (5836): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. *** Prozess Test.exe (5836)
ist alles besondere, was ich sehe.. Meinst du die (5836)? Wie muss ich das denn lesen, um die Zeile zu finden?

Geändert von Mpex (27. Dez 2011 um 13:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#9

AW: Syntax-Datenbank

  Alt 27. Dez 2011, 13:24
Hi,

jepp, das ist das Problem - da fehlt was.

Du hast jetzt quasi gesagt, es wird da mal ein Bild geben, das wird den Namen BildA tragen, aber angelegt hast du es nicht.
Was da also fehlt ist etwas in der Art (frei aus dem Kopf, keine Garantie) BildA := TImage.Create(); und später, wenn du es nicht mehr brauchst, musst du es auch wieder aufräumen BildA.Free(); - aber damit wäre es dann nicht getan - du musst dem Bild mindestens mal noch nen Parent zuweisen sowie auch Größe und Position wären sinnvoll.

Vermutlich ist es einfacher, du ziehst die Komponente auf dem Formular dorthin, wo du sie haben möchtest und nennst sie BildA.


LG, Frederic
Frederic Kerber
  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 12:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz