Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Access Violation


chickenfigt1989 - Sa 01.05.10 14:56
Titel: Access Violation
Hey
Habe heut bei meinen Programm das die ganze zeit funktionierte, ein paar sachen geändert und jetzt bekomm ich immer eine Access Violation Fehlermeldung, und ich finde den Fehler nicht.
Hab den Code als anhang mit gemacht.


BenBE - Sa 01.05.10 14:59

Autsch.

Hast Du schon einmal daran gedacht, dein Konzept etwas zu überdenken??? Von der Namensgebung mal abgesehen ...


Delete - Sa 01.05.10 15:07

WTF?!Das ist ein sehr unübersichtlicher Code oder doch Kot... ;) Wie BenBE schon sagt überdenke nochmal dein Konzept , dann wird sich auch das Problem mit der Access Violation beheben.

€: Immer diese Rechtschreibfehler...


chickenfigt1989 - Sa 01.05.10 15:16

Es ging ja bis heut noch, dan hab ich so 5-6 Buttons durch Speedbuttons ersetzt und jetzt kommt der Fehler immer


Gausi - Sa 01.05.10 15:20

Und wir sollen jetzt in über 12.000 Zeilen Code suchen, wo du vor kurzem was geändert hast, und bei welchem Event es möglicherweise zu einer AV kommen kann, oder was? :roll:


BenBE - Sa 01.05.10 15:20

Dann gehen wir mal wie folgt vor:
0. Überdenke dein Konzept
1. Reduziere die Anzahl der Buttons in deinem Formular drastisch ;-)
2. Schaue, ob Du nicht an einigen Stellen ggf. Frames verwenden solltest
3. Gliedere die Funktionalität ggf. in mehrere Units
4. Häng mal madExcept oder ODbgIntf oder EurekaLog rein und gib mal nen Stacktrace?
5. Was sagt die Fehlermeldung konkret?
6. Was sagt Gehe zu Laufzeit-Fehler dazu?


chickenfigt1989 - Sa 01.05.10 15:38

0. Hab ich bereits
1.Kann ih nicht ich brauch die alle
2.Hmm könnt ich machen
3.oke
4.Wo soll ich das anhängen?
5.Access violation at address 004791B6 in module helper.exe. Read of address 000002F4.
6.Nichts
und nach der Fehlermeldung startet das programm aber, es ist halt tierisch nervig die meldung
lg


BenBE - Sa 01.05.10 15:47

0. Glaub ich nicht
1. Versuch es wenigstens
2. Dann mach das erstmal
4. Beschreibung zu madExcept bzw. EurekaLog lesen, dann erübrigt sich diese Frage
5. Ui, warum nicht gleich?
6. Programm starten, im Debugger anhalten, $004791B6 bei Gehe zu Laufzeitfehler eingeben, Source begutachten oder hier posten


chickenfigt1989 - Sa 01.05.10 15:54

Ich kanns aber nicht :(


BenBE - Sa 01.05.10 16:16

Dann kann ich Dir leider nicht helfen ...


chickenfigt1989 - Sa 01.05.10 16:39

Bei Punkt 6, wie kann ich das Programm in Debugger anhalten?
Lg


delfiphan - Sa 01.05.10 17:10

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Gliedere die Funktionalität ggf. in mehrere Units

Das hast du wohl verpasst ;): uses Unit2, Unit3, ..., Unit529;

user profile iconchickenfigt1989 hat folgendes geschrieben Zum zitierten Posting springen:
5.Access violation at address 004791B6 in module helper.exe. Read of address 000002F4.

Du greifst auf ein Objekt zu, das nicht instanziert ist. Und zwar muss es ein relativ grosses Objekt sein, denn du versuchst auf das Feld mit Offset $2F4 = 756 zuzugreifen. Wenn ich einmal annehme, dass alle Felder 4 Bytes aligned sind, dann wäre es das Feld #189. Viel mehr kann man aus der Fehlermeldung nicht rauslesen.
Auf welcher Zeile wird die Exception denn geschmissen (evtl. mit Debug DCUs ausführen)? Wenn du Exceptions ignorierst, dann solltest du die unter den Optionen wieder einschalten (irgend wo unter Tools/Options/Debugger Options/Exceptions gibt's eine Liste. Da sollten nicht zu viele Kästchen angekreuzt sein).

user profile iconchickenfigt1989 hat folgendes geschrieben Zum zitierten Posting springen:
und nach der Fehlermeldung startet das programm aber, es ist halt tierisch nervig die meldung

Wenn die Fehlermeldung vor dem Starten kommt, dann ist der Fehler eher nicht im geposteten Code. Deine Form1 hat kein FormCreate o.ä., d.h. ohne Benutzeraktion passiert nichts. Du hast zwar einen Timer, der macht aber auch nichts Verbotenes. Vielleicht ist deine Projektdatei kaputt oder der Fehler liegt in einer deiner 500 Units.

Wie die anderen schon sagten: Deine 2000 Menuitems kannst du bestimmt auch zur Laufzeit erzeugen. Dadurch könntest du den Code um 95% verkleinern. Ansonsten kann ich dir nur raten mit einem Versionierungssystem wie SVN zu arbeiten, damit du deine Änderungen trackst.


chickenfigt1989 - Sa 01.05.10 17:52

Hmmm meinst du diese Liste hier wie im anhang zu sehen ist?

Edit://

Es kommt immer ein Fehler, vllt. hat der damit was zu tun und zwar hier:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure WriteStringToStream(AStream: TIdStream; const AStr :string);
var
  LBytes: TIdBytes;
begin
  if AStr = '' then Exit;

  LBytes := ToBytes(AStr);
  TIdStreamHelper.Write(AStream, LBytes);
end;


kommt immer:

[Warning] IdGlobal.pas(2954): Variable 'LBytes' might not have been initialized
[Hint] UpdateSystem.pas(177): Variable 's' is declared but never used in 'TUpdate.GetFileList'


Edit 2://


Ab hier
Application.CreateForm(TForm57, Form57);

Geht es nicht emhr weiter, aber was könnte daran falsch sein?
lg


Webo - Sa 01.05.10 18:02

user profile iconchickenfigt1989 hat folgendes geschrieben Zum zitierten Posting springen:

Ab hier
Application.CreateForm(TForm57, Form57);

Geht es nicht emhr weiter, aber was könnte daran falsch sein?

Kann man ja aus dieser einen Zeile Code wohl schlecht entnehmen, oder ? ;-)
Dafür müsste man schon näheres zu Form57 wissen.


chickenfigt1989 - Sa 01.05.10 18:18

In Form 57 steckt nur das hier:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
unit Unit57;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm57 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form57: TForm57;

implementation

uses Unit58, Unit56, es;

{$R *.dfm}


procedure TForm57.BitBtn1Click(Sender: TObject);
begin
close
end;

procedure TForm57.SpeedButton1Click(Sender: TObject);
begin
Form58.Show;
Form57.Close;
end;

procedure TForm57.SpeedButton2Click(Sender: TObject);
begin
Form56.show;
Form57.close;
end;

procedure TForm57.SpeedButton3Click(Sender: TObject);
begin
Form1.SynEdit1.SelText:= 'import vecmath';
end;

procedure TForm57.FormCreate(Sender: TObject);
begin

end;

end.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
object Form57: TForm57
  Left = 192
  Top = 122
  Width = 375
  Height = 300
  Caption = 'Beschreibung Vecmath'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  Position = poScreenCenter
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 8
    Top = 8
    Width = 111
    Height = 13
    Caption = 'Manipuliert Koordinaten'
  end
  object Label2: TLabel
    Left = 8
    Top = 48
    Width = 39
    Height = 13
    Caption = 'Beispiel:'
  end
  object Label3: TLabel
    Left = 8
    Top = 24
    Width = 230
    Height = 13
    Caption = 'Alle Befehle gibt es auch bei der Vektor Instance'
  end
  object SpeedButton1: TSpeedButton
    Left = 312
    Top = 232
    Width = 23
    Height = 22
    Glyph.Data = {
      FA090000424DFA09000000000000360000002800000021000000190000000100
      180000000000C4090000120B0000120B00000000000000000000FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF666666666666FFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFF666666000000000000222222BBBBBBFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6666660000000000000000000000000000
      00666666EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55555500000000000000000000000000
      0000000000000000111111AAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999000000000000000000
      000000000000000000000000000000000000444444DDDDDDFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD4444
      44000000000000000000000000000000000000000000000000000000999999FF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF999999000000000000000000000000000000000000000000000000
      000000444444DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFDDDDDD4444440000000000000000000000000000
      00000000000000000000000000AAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666600000000000000
      0000000000000000000000000000000000000000BBBBBBFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD666666000000
      000000000000000000000000000000000000000000999999FFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD6666660000000000
      00000000000000000000000000000000000000111111BBBBBBFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE66666600000000000000
      0000000000000000000000000000000000000000555555EEEEEEFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999000000000000000000
      000000000000000000000000000000000000000000999999FFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE4444440000000000000000
      00000000000000000000000000000000000000444444DDDDDDFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE33333300000000000000
      0000000000000000000000000000000000000000888888FFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888000000
      000000000000000000000000000000000000222222CCCCCCFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFBBBBBB000000000000000000000000000000666666FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFCCCCCC111111000000000000AAAAAAFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD444444CCCCCCFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00}
    OnClick = SpeedButton1Click
  end
  object SpeedButton2: TSpeedButton
    Left = 280
    Top = 232
    Width = 23
    Height = 22
    Glyph.Data = {
      FA090000424DFA09000000000000360000002800000021000000190000000100
      180000000000C4090000120B0000120B00000000000000000000FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
      7777888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC
      333333000000000000888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6666
      66000000000000000000000000000000888888FFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA22
      2222000000000000000000000000000000000000000000777777FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD555555
      000000000000000000000000000000000000000000000000000000AAAAAAFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8888880000
      00000000000000000000000000000000000000000000000000444444DDDDDDFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC33333300
      0000000000000000000000000000000000000000000000000000999999FFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888000000
      000000000000000000000000000000000000000000000000444444DDDDDDFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA0000
      00000000000000000000000000000000000000000000000000666666FFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFF999999000000000000000000000000000000000000000000000000666666
      DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFBBBBBB1111110000000000000000000000000000000000
      00000000000000666666DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE55555500000000000000000000
      0000000000000000000000000000000000666666EEEEEEFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA000000
      000000000000000000000000000000000000000000000000000000999999FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFDDDDDD44444400000000000000000000000000000000000000000000000000
      0000444444EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFF999999000000000000000000000000000000000000
      000000000000000000333333EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC3333330000000000000000
      00000000000000000000000000888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77777700
      0000000000000000000000000000BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFBBBBBB111111000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFCCCCCC444444DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00}
    OnClick = SpeedButton2Click
  end
  object SpeedButton3: TSpeedButton
    Left = 240
    Top = 232
    Width = 23
    Height = 22
    Glyph.Data = {
      FA090000424DFA09000000000000360000002800000021000000190000000100
      180000000000C4090000120B0000120B00000000000000000000FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0E78833CC
      0033CC00BBEEAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
      E78833CC0033CC00C9F1BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFF92E47733CC0033CC00D6F5CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41CF1169DA
      44A0E788BBEEAA85E06633CC0033CC0092E477A0E788A0E78869DA44A0E788FF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6F5CC33
      CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC00
      ADEB99FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      A0E78833CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC
      0033CC00BBEEAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFBBEEAAA0E78833CC0033CC0033CC0033CC0033CC0033CC0033CC0033
      CC0033CC0092E477E4F8DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92E47733CC0033CC0033CC0033CC00
      D6F5CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85E06633CC0033CC0033CC
      0033CC0092E477FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69DA4433CC0033
      CC0033CC0033CC0041CF11FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4ED322
      33CC0033CC0033CC0033CC0033CC00BBEEAAFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF41CF1133CC0033CC0033CC0033CC0033CC0069DA44FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF33CC0033CC0033CC0033CC0033CC0033CC0033CC00E4F8DDFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00}
    OnClick = SpeedButton3Click
  end
  object Memo1: TMemo
    Left = 8
    Top = 64
    Width = 329
    Height = 161
    Lines.Strings = (
      'import effectlib'
      'import vecmath'
      ''
      'victim = int(event_var[''userid''])'
      'attacker = int(event_var[''attacker''])'
      'victim_location = vecmath.vector(es.getplayerlocation(victim))'
      
        'attacker_location = vecmath.vector(es.getplayerlocation(attacker' +
        '))'
      
        'effectlib.drawLine(attacker_location, victim_location + (0,0,96/' +
        '2),'
      '            seconds=5) '
      #9#9#9
      '# Zeichnet eine Linie zwischen beiden Spielern')
    ReadOnly = True
    TabOrder = 0
  end
  object BitBtn1: TBitBtn
    Left = 8
    Top = 232
    Width = 75
    Height = 25
    Caption = 'Ok'
    TabOrder = 1
    OnClick = BitBtn1Click
    Glyph.Data = {
      E6040000424DE604000000000000360000002800000014000000140000000100
      180000000000B0040000AE1D0000AE1D00000000000000000000F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0D4EED47DCA7B98D796D7F2D7F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F064C661039D000DA10A1FA81A6BCD67D9F9D7F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F03FB93D
      17A60F1CA9171AA6150DA10A2FB82AC5F7C2F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0C4ECC516A9121CA9171C
      A9181CA9181BA81710A50C86E986F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F063C65F11A50C1CA9191CA9181CA9
      181CA91813A40F63D960F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0B9E7B614A8101BA8171CA91818A7141BA8171CA918
      16A5123BC436DCFFDBF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0E9F7E837B53313A7111EAA1816A51328B3251EAC1B1CA9181AA8171C
      AF1AA9F5A7F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FDF6
      54C2530FA50B1FAA180FA40D2DB82AC5F5C357C25512A40E1CAA1914A50F5FD7
      5BF3FFF3F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0ECFAEC5FC5590EA50B17
      A7150DA4083CBF3ACEF5CDF0F0F0BCE7BB12A70E1CA9171AA71522B521B5F8B4
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F051C14F009F000EA60C2AB0277ED4
      79ECFCEBF0F0F0F0F0F0F0F0F059C4530FA60A1EAA1A14A51055D454EBFFEAF0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F09EDC9C82D281AEE5ADE8F9E6F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0D8F2D621AE1E17A7141BA91817AC158CEC8AF0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0ADE3A912A80F1AA81717A71327B824ACF8A7F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F096DB9411A70D17A81416A61133C030B1FAAEF0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0A1E09F1BAB1514A50F16A51231C02DA1F89DF5FFF4F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0C4EBC23DB83A0EA4080EA20B23B6217BEA77DFFFDEF0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0EFFBEF91D88F39B63710A40C02A3008FE28CF0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F2FCF2BCE9BA8AD388CDECCBF0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      F0F0F0F0F0F0F0F0F0F0}
  end
end


Gausi - Sa 01.05.10 18:52

Sag mal, sehen die anderen Formen auch so aus? So mit einem Vor- und Zurückbutton, der jeweils die Form davor bzw. danach anzeigt? :gruebel:

Ich vermute ja fast, dass der Compiler bei Form57 die Lust an diesem Unsinn verliert und einfach die Arbeit verweigert. :lol:


glotzer - Sa 01.05.10 18:54

user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Sag mal, sehen die anderen Formen auch so aus? So mit einem Vor- und Zurückbutton, der jeweils die Form davor bzw. danach anzeigt? :gruebel:

Ich vermute ja fast, dass der Compiler bei Form57 die Lust an diesem Unsinn verliert und einfach die Arbeit verweigert. :lol:


das wär allerdings ne erklärung xD


chickenfigt1989 - Sa 01.05.10 19:20

Ja den Vor und zurück button gibt es bei vielen, es sollte bei jeder sein aber soweit bin ihc nicht gekommen bis jetzt hab ich es nur bei 30 gemacht. Und das war eben das was ihc eig. als letztes bearbeitet hab, dan ging es nimmer.
Aber wie soll ich das vor und zurück sonst realisieren? Gibt es da irgendne andere möglichkeit?
lg


platzwart - Sa 01.05.10 20:02

Kannst du mal bitte die EXE-Datei hochladen?


BenBE - Sa 01.05.10 20:06

Da ich immer noch für 0. bin, nehme ich gern Wetten an, ob das in unter 5kLOC mit <10 Units geht. Auch andere Wetten sind gern gesehen.

@platzwart: Gesamter Source wäre glaube besser und sei's zum Totlachen Liefern praktischer Verbesserungsvorschläge


chickenfigt1989 - Sa 01.05.10 20:24

Jop klar hier ist sie.
http://www.pup-board.de/update/helper.exe
Einfach nen neuen User erstellen und Fertig


Gausi - Sa 01.05.10 20:31

Wenn du möchtest, dass man dir hier hilft, solltest du das Programm vielleicht auch hier zur Verfügung stellen, und nicht die Anmeldung in einem anderen Forum verlangen. ;-)


chickenfigt1989 - Sa 01.05.10 20:43

Hab den Falschen Link gepostet. Die Datei liegt auf der alten Hp nicht auf der neuen.
Hier der richtige http://chiller4fun.de/update/helper.exe


Teekeks - Sa 01.05.10 20:46

du sollst di hier ins Forum reinstellen...


BenBE - Sa 01.05.10 20:48

I'm afraid Dave, I can't download this.


chickenfigt1989 - Sa 01.05.10 20:59

Ging erst nich weil se 2.1Mb hatte.
Hab mir eben Winrar gezogen und gezipt


BenBE - Sa 01.05.10 21:03

Okay, du hast soeben einen weiteren Weg gefunden, mit zielgerichteter Genauigkeit ein Windows 2000 nahe dem Absturz zu manövrieren.

Oder anders ausgedrückt: Mensch, überarbeite endlich dein Konzept, das Teil frisst soviele GDI-Resourcen, das Win2K mal eben nur noch nen grauen Bildschirm anzeigt, weil er nix mehr zeichnen kann.

P.S.: Das schaffen sonst nur Azureus mit extrem vielen Torrents (wegen eines Java-Bugs) oder der Process Explorer, wenn der wesentlich zu lange lief.


chickenfigt1989 - Sa 01.05.10 21:07

Es ist überdacht. Und win Vista und auch Xp packen das shcon


BenBE - Sa 01.05.10 21:10

Überholt trifft's wohl eher ...

Und wie bereits erwähnt: Die Access Violation in dem Programm ist dein geringstes Problem. Uploade bitte mal kurz den Source (oder per PN an mich), damit man da mal einen Blick drauf werfen kann. Ich hab bereits bei weitem größere Projekte gehabt, die wesentlich weniger Formulare hatten und mehr konnten (als abstürzen).


elundril - Sa 01.05.10 21:13

Schön das du denkst das Win7, Vista und XP das packt, aber nicht jeder hat ne High-End-Maschine mit dem neusten Betriebssystem. Und ich wette es geht kleiner. Alleine schon weil ich glaube das du für jede Beschreibung ein eigenes Fenster gemacht hast anstatt das du ein Fenster machst und dann die Daten immer dort reinlädst. Immerhin: Visuelle Komponenten sind nicht zum Speichern von Daten gedacht, sondern primär zum anzeigen!

lg elundril


Gausi - Sa 01.05.10 21:30

@elundril: ja, das mit den Beschreibungs-Formen sehe ich auch so. :autsch:

@chickenfight: Ist dir nie in den Sinn gekommen, dass man dafür EINE Form nehmen kann, und den Elementen auf dieser Form den passenden Text zuweisen kann? Das ist kein Programmieren, und hat auch nichts mehr mit "Konzeptschwächen" zu tun. Das ist grober Unfug, nichts weiter.


delfiphan - Sa 01.05.10 22:23

Auf einer VM mit einer frischen WinXP SP2 Installation läuft alles ohne Exception :nixweiss:


BenBE - Sa 01.05.10 23:41

k, also kurz mal nen Blick auf den Quelltext geworfen (bevor der Augenkrebs zugeschlagen hat):

Also bereits bei der Hauptform bekommt man mit nur wenig Aufwand den Source auf wenige Zeilen reduziert.

Also solche Dinge wie:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.playerdeath1Click(Sender: TObject);
begin
SynEdit1.SelText:= 'def player_death(ev):';
end;

procedure TForm1.SteamiddesLegers2Click(Sender: TObject);
begin
SynEdit1.SelText := 'ev[''es_steamid'']'
end;

procedure TForm1.Indexdesfuncbreakable4Click(Sender: TObject);
begin
SynEdit1.SelText := 'ev[''entindex'']'
end;

//...

kann man mit GANZ wenig Aufwand in eine Routine schreiben, diese dynamisch erzeugten MenuItems zuordnen, macht dabei das Programm sogar noch flexibel und spart massig Resourcen.

Okay, dass Logout1 und Logout2 das gleiche machen, ist mal grad ne Randbemerkung.

Insbesondere TForm1.AccountSystemClient1LoggedIn ist wirklich einmalige Funktionalität ;-) Jeder Python-Quine ist spannender ;-) Aber ich glaub, ich schweife ab.

Die Benennung deiner Units könnte auch besser sein.

Zumal: Da du dort wahrscheinlich Wizards drin baust, würde ich einfach mal TPageControl mit Invible-Reitern in den Raum werfen. Spart mindestens n Googol an Formularen. Dann das Zeugs noch wenn nötig dynamisch aus Konfigurationsdateien nachladen und du kannst "One Wizard To Beat Them All" draus machen (No pun intended).

Und zu den "Hilfetexten": Geht auch über Konfigurationsdateien wesentlich effizienter abzufackeln als 500 Formulare mit kurzen Textschnipseln ständig im RAM zu halten.

Da ich hier aber leider grad weder SynEdit noch JCL\JVCL installiert hab, hat das Compilieren grad nicht geklappt:

Compiler-Ausgabe:
1:
[Fatal Error] helper.dpr(1): E666 This source sucks. Aborting to refrain from puking.