Das nächste Entwicklertreffen findet Anfang Mai in Münster statt - weitere Infos bzw. zur Anmeldung!

falscher Objektstatus [ERLEDIGT]

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18197
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

falscher Objektstatus [ERLEDIGT]

Beitrag von Manfred » Fr, 15. Jun 2018 9:24

das klappte unter der 1.90er noch

Code: Alles auswählen

STATIC FUNCTION BMP2BMP(oBMP,aXbpSize)

LOCAL oHuge, oTiny, oPS, oRet
   IF aXbpSize[2] > 0
      oHuge := oBMP
      //Create a small bitmap to fit in our XbpStatic
      oTiny := XbpBitmap():New():Create()
      oTiny:Make(aXbpSize[1],aXbpSize[2]) <------------ Fehler bei 2.0

      oPS := XbpPresSpace():new()
      oTiny:presSpace(oPS)
      //Copie and resize the huge bitmap to the small bitmap
      oHuge:Draw(oPS,{0,0,aXbpSize[1],aXbpSize[2]},,,GRA_BLT_BBO_IGNORE)
      oRet := oTiny
   ELSE
      oRet := oBMP
   ENDIF

RETURN oRet
in der 2.0er erscheint am Pfeil eine Fehlermeldung falscher Objektstatus
fos.PNG
fos.PNG (19.9 KiB) 462 mal betrachtet
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2437
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: falscher Objektstatus

Beitrag von Wolfgang Ciriack » Fr, 15. Jun 2018 12:20

Da hast du wohl eine falsche BMP2BMP function.
Bei mir sieht die so aus:

Code: Alles auswählen

FUNCTION BMP2BMP( oBMP, aXbpSize,ltransparency)
LOCAL oHuge, oTiny, oPS, oRet, nBits, nPlanes

DEFAULT ltransparency TO .T.

IF aXbpSize[ 2 ] > 0
   oHuge := oBMP
   nBits := oBMP:bits
   nPlanes := oBMP:planes

   // erst Presspace anfordern
   oPS   := XbpPresSpace():New():Create()
   // jetzt das Bitmap Objet
   oTiny := XbpBitmap():New():Create()
   IF ltransparency  // transparentClr beachten
      oTiny:transparentClr := oBMP:transparentClr
   ENDIF

   // dann das MAKE
   oTiny:Make(aXbpSize[1], aXbpSize[2], nPlanes, nBits)
   // und so klappt das auch mit Xbase++ v2.0.437
   oTiny:PresSpace(oPS)

   //Copie and resize the huge bitmap to the small bitmap
   oHuge:Draw( oPS, { 0, 0, aXbpSize[ 1 ], aXbpSize[ 2 ] },,, GRA_BLT_BBO_IGNORE  )
   oRet := oTiny
ELSE
   oRet := oBMP
ENDIF
RETURN oRet
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18197
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: falscher Objektstatus [ERLEDIGT]

Beitrag von Manfred » Fr, 15. Jun 2018 13:00

Danke Wolfgang,
das war der Fehler. Jetzt klappt es.....
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Antworten