Thema: Bilder...

Hi ihr alle, die kleverer seid als ich.<P>ich hab da ein kleines problem.  ich möchte einen map-editor programmieren. ich habe dabei probleme mit der speicherverwaltung. ich möchte gerne eine karte von mindestens 128x128 kleinen bildchen erstellen. mit einem array kann ich die bilder logischerweise nicht speichern. ich habs auch schon mit der erzeugung von dynamischen variablen versucht. ich krieg dabei alerdings die fehlermeldung, dass ichirgendeinen fehler in einem bestimmten modul verursacht hätte. kann mir jemand weiterhelfen? <P>MfG<BR>JamesB<P>P.S. - ich hab eine grausam alte Delphi-Version. Auf der CD und selbst in der Software ist (komischer Weise) nicht angegeben, welche Version ich da habe. ich nehme an version 3 oder älter  [img]images/icons/frown.gif" border="0[/img]

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

Re: Bilder...

kenn mich mit speicherverwaltung etc. eigentlich nicht wirklich aus, aber wieso kannste kein 2-dimensionales array verwenden??? sind doch nur ca. 16.000 werte, das müsste doch drin sein.<P>alternativ wär auch ein 3-dimensional möglich, z.b. um das ganze in 4 quadraten aufzuteilen...!?

Netigo GmbH
Agentur für neuen Medien
http://www.netigo.de

Re: Bilder...

var a: array[0..127, 0..127]: typ;

mfG whitehouse

4

Re: Bilder...

hm... 128x 128 soll die kleinste karte sein. die größte darf bsp-weise auch schonmal 1024x1024 Felder groß sein.<BR>da brauche ich am besten eine universelle lösung.<P>anbei - irgendwie scheitert mein delphi schon bei ca. 9400 einheiten  [img]images/icons/frown.gif" border="0[/img] 16000 sind weit gergriffen.<P>ich muss dummerweise jedes bild speichern (?) kann ich das nicht um gehen indem ich eine schleife schreibe, die diese bilder entwickelt und danach den gebrauchten speicher wieder freigibt - ohne das bild zu löschen  [img]images/icons/wink.gif" border="0[/img].<P>danke für eure hilfe

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

Re: Bilder...

var a: array[0..127, 0..127] of typ; {das war gemeint}<P>in welchem Memory-Modell kompiolierst du (alte 16-Bit brauchen die Angabe)

mfG whitehouse

6

Re: Bilder...

hmm...<P>das weiß ich leider garnicht. wie komm ich denn an die neuen rann?<P>wie gesagt. ich hab ein tierisch altes Delphi.<P>jo.

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

7

Re: Bilder...

ich kann leider keine version-infos etc. auf dem prog finden. da steht nur ganz am anfang copyright 1983-1995 (na danke) das wars auch schon.   [img]images/icons/grin.gif" border="0[/img]

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

Re: Bilder...

such doch mal irgendwo in Delphi nach Memory Model (oder so) - versuch dann mal Large ... einzustellen - vielleicht geht's dann<P>hintergrund: im Small-Modell kann er nur 16K (oder so ähnlich *g*) Speicher ansprechen - insgesamt

mfG whitehouse

9

Re: Bilder...

also was ich schonmal gesehen hab...<P>über Optionen/Projekt/Linker komm ich zu den Einstellungen zur Stackgröße und zum lokalen Heap ... ich weiß nicht ob mir das irgendwas bringt dsort rumzustellen....... was ist das eigentlich????<P>@ whiteheart : ich seh mal nach...

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

10

Re: Bilder...

hm...... nix gefunden.<P>kann ich eigentlich mit der Draw-Methode Bilder aufm Forular plazieren? Ichabs versucht. theorethisch hauts hin (der compiler schimpft nich).  aber praktisch gehts in die hose. ich habe irgendwelche module verletzt bla bla bla (beim erzeugen eines Bildchens vom Typ TPaintBox, TMetaFile)

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

Re: Bilder...

Stackgröße und Heap... bringen dich viell. weiter - erhöh einfach mal Schritt für Schritt (bis es geht *g*)

mfG whitehouse

Re: Bilder...

welche Allokatoren verwendest du zur Allozierung? *g*<P>schieb mal rüber

mfG whitehouse

13

Re: Bilder...

<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR><BR>welche Allokatoren verwendest du zur Allozierung? *g*<P>schieb mal rüber<BR><HR></BLOCKQUOTE><P>was verwende ich wozu? tut mir leid ich weiß nicht was das ist. insofern kann ich auch nix rüberschieben... wohin auch!?  [img]images/icons/smile.gif" border="0[/img]  [img]images/icons/grin.gif" border="0[/img]<P>ich hab was von einem anderen Lösungsansatz gehröt. kann mir denn vielleicht jemand helfen rauszufinden, wie ich eine Art Variable erstelle, die auf den selben Speicherplatz verweist wie eine andere Variable??? Sowas soll gehen... ich weiß, dass es bei Java klappt (leider kann ich mein Problem nicht durch Java volständig beseitigen  [img]images/icons/frown.gif" border="0[/img])<P>jo.<p>[ 26.09.2001: Beitrag editiert von: JamesB ]

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

14

Re: Bilder...

hm.. ich habs rausgefunden und kann soviele bildchen zeichnen, wie ich lust hab. nu müsst ich aber nochwas wissen. wie kann ich dynamisch bilder erstellen.<P>also ich müsst jetzt nochwas wissen. ich möchte gerne bilder dynamisch... also wärend des programmverlaufs erstellen. meintewegen hab ich die schon durch nen array vereinbart.<P>jo<P>p.s. - ich arbeite da nich ganz alleine dran... die leutz deknen schon, ich mach nix mehr   [img]images/icons/rolleyes.gif" border="0[/img]

... und nun lasst und doch endlich den Softwaremarkt aufkaufen!

Re: Bilder...

<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>wie ich eine Art Variable erstelle, die auf den selben Speicherplatz verweist wie eine andere Variable???<HR></BLOCKQUOTE><P>mit pointern:<P>var a: pointer;<BR>...<BR>a := @irgendwas; //a zeigt auf irgendwas *g*

mfG whitehouse

Re: Bilder...

noch was: hol dir delphi6 (personal is kostenlos)

mfG whitehouse

Re: Bilder...

<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR> dynamisch... also wärend des programmverlaufs erstellen <HR></BLOCKQUOTE><BR>das nennt sich Allozierung *g*

mfG whitehouse

Re: Bilder...

der Allocator:<P>function AllocMem(Size: Cardinal): Pointer;<P>ach ja: Pointer auf Typ heisst ^Typ

mfG whitehouse

Re: Bilder...

das ist die Macht von Pointern!<P>type<P>  PInteger = ^Integer;<BR>var<BR>  R: Single;<BR>  I: Integer;<BR>  P: Pointer;<BR>  PI: PInteger;<BR>begin<BR>  //...<BR>  P := @R;<BR>  PI := PInteger(P);<BR>  I := PI^;<BR>end;<P>kopiert die Bits von R nach I (in C ging das doch irgendiwe eleganter *g*)

mfG whitehouse