AGB  ·  Datenschutz  ·  Impressum  







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

tbitmap und unit windows

Ein Thema von 1234567890987654321 · begonnen am 12. Jul 2010 · letzter Beitrag vom 17. Jul 2010
Antwort Antwort
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#1

tbitmap und unit windows

  Alt 12. Jul 2010, 20:36
Hallo,
wenn ich die Unit Windows einbinde, und jetzt mir eine tbitmap variable mache, kann ich keine Funktionen/Prozeduren von tbitmap ausführen lassen.
Code:
uses windows
//...
var b: tbitmap;
//...
b:=tbitmap.//hier gibts nur noch variablen, es gibt nicht mal mehr .create
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

AW: tbitmap und unit windows

  Alt 12. Jul 2010, 20:38
Edit: TBitmap ist meines Wissens nach Unit Graphics, nicht Windows.

Ansonsten:
Kommt den ein Fehler beim Compilieren, wenn Du .Create() schreibst?

Ggf. gibt es vorher im Quelltext auch Syntaxfehler. Dadurch könnte die Code-Completion evtl. aus dem Tritt kommen.
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: tbitmap und unit windows

  Alt 12. Jul 2010, 20:41
Hallo

Du hast zwar groß "Lazarus" drunter stehen, in Delphi würdest du das so beheben, daß deine unit-reihefolge "uses windows" und danach "graphics" sein muß.

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#4

AW: tbitmap und unit windows

  Alt 17. Jul 2010, 21:33
Hi!

Hallo,
wenn ich die Unit Windows einbinde, und jetzt mir eine tbitmap variable mache, kann ich keine Funktionen/Prozeduren von tbitmap ausführen lassen.
Code:
uses windows
//...
var b: tbitmap;
//...
b:=tbitmap.//hier gibts nur noch variablen, es gibt nicht mal mehr .create
TBitmap in der Unit Windows hat nichts mit dem TBitmap aus Graphics zu tun (welches du verwenden möchtest). Du bist übrigens nicht der erste der darauf "reinfällt" (ist mir auch schon passiert ).

Also du musst entweder, wie Keldorn geschrieben hat, die Reihenfolge von der Windows und der Graphics Unit in der Uses vertauschen oder du schmeißt die Unit Windows ganz raus und versuchst mit den Abstraktionen in LCLIntf (welche zusätzlich plattformunabhängig sind) zu arbeiten, in der kein konkurrierendes TBitmap definiert ist. Dies geht auch meistens gut, es sei denn du verwendest Funktionen, die wirklich Windows-spezifisch sind (z. B. irgendwie Shell bezogen).

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: tbitmap und unit windows

  Alt 17. Jul 2010, 22:30
Man kann auch die Unit vor den Datentyp stellen:
Delphi-Quellcode:
var b: Graphics.TBitmap;
//...
b:=Graphics.TBitmap.Create;
Diesen "Trick" verwende ich manchmal, wenn nicht genau klar ist was gemeint ist wie z.B. SysUtils.Date oder Math.Max.
  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 07:55 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