Вниз
Скачать: CL | DM;

KOL: нужно ли освобождать память после VarArrayCreate...   Найти похожие ветки 

 
Сашик   (2008-07-21 23:42) [0]

Как правильно освободить переменную V типа Variant в деструкторе
после V:= VarArrayCreate([,], varVariant). Достаточно ли V:= Unassigned ?


 
Palladin ©   (2008-07-23 11:01) [1]

При уничтожении объекта оно само освободится. Особенных телодвижений не требуется.

А KOL здесь ни причем.


 
Dy1   (2008-07-23 14:38) [2]

пытаюсь уничтожить форму, а она мой дух не отпускает :(
часть кода убрал
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
var Mouse: TMouseEventData;
begin
 LoadIni;
 DFind( TV.TVInsert( TV.TVRoot, 0, ExcludeTrailingPathDelimiter(PathStalk)), PathStalk);
end;

procedure TForm1.LoadIni;
var
 ini: PIniFile;
 OD: POpenDirDialog;
 x: integer;
begin
 if FileExists(GetStartDir + "settings.ini") Then
и т.п.

 if not DirectoryExists( PathStalk + "\gamedata\sounds\")then
 begin
   OD := NewOpenDirDialog("", [odEditBox, odNewDialogStyle]);
   OD.InitialPath := "C:\";
   Repeat
     if OD.Execute Then
       PathStalk := OD.Path
     Else
     begin
       Form.Close; // как правильно в этот момент закрыть программу?
     end;
   Until DirectoryExists( PathStalk + "\gamedata\sounds\");
   OD.Free;
 end;
end;

function TForm1.KOLForm1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
var
 Filename: array [0..259] of char;
 Count, i, n: Cardinal;
 fname, STpath: string;
 Mouse: TMouseEventData;
begin
 if msg.message = 563 Then
 begin
   Result := False;
   Count := DragQueryFile( msg.WParam, $FFFFFFFF, Filename, SizeOf(Filename));

   for i := 0 to Count - 1 do
   begin
     DragQueryFile( msg.WParam, i, Filename, SizeOf(Filename));
     fname := ExtractFileName(string(Filename));
     if LV.LVIndexOf(fname) >= 0 Then // если найдено
     begin
       STpath := IncludeTrailingPathDelimiter(TV.TVItemPath(TV.TVSelected, "\"));
       n := 0;
       While LV.LVIndexOf(fname + ".bak" + int2str(n) ) >= 0 Do
         n := n + 1;
       CopyMoveFiles( STpath + fname, STpath + fname + ".bak" + int2str(n), True);
       CopyMoveFiles( string(Filename), STpath + fname, False);
     end;
   end;
   DragFinish(Msg.WParam);
   Result := True;
 end;
end;


 
Dy1   (2008-07-23 14:39) [3]

извиняюсь, не сюда :(



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.045 c
2-1273603596
Kukulkan
2010-05-11 22:46
2010.08.27
Как правильно спарсить нужные данные???


2-1275672222
DROWSY
2010-06-04 21:23
2010.08.27
Post на TIBDataSet.


2-1266230351
Андрей_1
2010-02-15 13:39
2010.08.27
IP и имя компьютера


15-1273133655
Дмитрий С
2010-05-06 12:14
2010.08.27
Защита переменных окружения


6-1219864648
Boooze
2008-08-27 23:17
2010.08.27
проблема с сокетами




   Наверх