Post subject: OUT OF MEMORY Posted: 21/Jul/2011 11:17
onConfident
Joined: 21-Jul-2011
Posts: 28
Status: Offline
agan2.. BAGAMANA sich cara agar SAAT RUN PROGRAM DENGAN FORM BANYAK memory yang terpakai dikit..gitu??
Soalnya saat run program yang banyak form makan banyak memory... trus saat cetak gambar di report sampek OUT OF MEMORY... GIMANA CARA AGAR program itu makai memorynya gak terlalu banyak...
Tolong bantuan AGAN2 DELPHI..
Dookie
Location:
Post subject: Re: OUT OF MEMORY Posted: 21/Jul/2011 15:51
onNovice
Joined: 03-Nov-2007
Posts: 15
Status: Offline
Salah satu cara paling cepat yaitu menaikkan RAM komputer/laptop agan
beberapa penyebab program delphi out of memory:
1. Komponen VCL terlalu banyak dalam
2. seperti diatas form terlalu banyak
3. Ada virus yang menumpang di Memory sehingga space memory yg tersedia tidak cukup
4. Penggunaan image (gambar dan sejenisnya) yang terlalu tinggi resolusinya
Mungkin itu pentingnya ditentukan spesifikasi minimum dalam menjalankan program agar pada komputer
user/pengguna tidak hang
Solusinya mungkin klo form yg digunakan tidak terlalu sulit...bisa dilakukan dengan meng-create dan free-kan form
sama hanya dengan komponen VCL yang lain sehingga tidak terjadi penumpukan
ini saja dari saya siapa tahu dibawah ada yg kasih lebih...mudah2an membantu
darsaneit
Location:
Post subject:Posted: 21/Jul/2011 16:44
onConfident
Joined: 21-Jul-2011
Posts: 28
Status: Offline
kalo virus sich enggak..
Tapi kalo nampilin gambar dari database yang resolusi yng agak besar sich lumayan... tapi gak itu seperti masalahnya...
emang formnya yang banyak n ane pake componen flat juga..
tapi saya cara script untuk free form yang dimaksud yang ampuhh tuh gimana gan??
script yang gini gan maksudnya :
creat
...
except
free
end;
atau
creat
..
finally
ane kurang terlalu paham free yang bener?? tolong bantuan lagi agan2..
please..!
_________________ Majulah IT
taz
Location:
Post subject:Posted: 21/Jul/2011 17:42
onNewBie
Joined: 21-Jul-2011
Posts: 2
Status: Offline
ak kurang ngerti pertanyaannya...?!!!
maksdunya kaya begini ya mas bro...
var
aform:=TForm.create(nil);
try
aform.Show;
finally;
aform.Free;
end;
dr4cul453xy
Location: Nusa Dua,Denpasar
Post subject:Posted: 22/Jul/2011 10:35
onIntermediate
Joined: 19-Sep-2006
Posts: 40
Location: Nusa Dua,Denpasar
Status: Offline
mungkin ini maksud anda :
Code:
with TForm2.Create(Application) do
try
showmodal;
finally
release;
end;
sebelum menggunakannya, ingat untuk memindahkan TForm2 (form yang mau anda panggil secara dinamis) dari List "Auto Create Form" yang ada di "Project-Project Option-Forms" ke list "Available Forms"
thnk blognya..
aGAN dr4cul453xy ..SAAT MANGGIL FORM DINAMIS.. KOK dbgrid gak fungsi n pemanggilan querynya jadi error itu apanya gan?a setingan lagi? ad??
_________________ Majulah IT
dr4cul453xy
Location: Nusa Dua,Denpasar
Post subject:Posted: 22/Jul/2011 14:05
onIntermediate
Joined: 19-Sep-2006
Posts: 40
Location: Nusa Dua,Denpasar
Status: Offline
darsaneit wrote:
SAAT MANGGIL FORM DINAMIS.. KOK dbgrid gak fungsi n pemanggilan querynya jadi error itu apanya gan?a setingan lagi? ad??
Kemungkin anda ada melakukan "operasi database" (tabel,query,load data ke grid, etc) pada event OnCreate formnya.
Jika iya, pindahkan operasi tersebut ke event OnShow form anda.
Kalau bukan itu masalahnya, coba post detail error message-nya saat anda mengalami error tsb disini.
_________________ dr4cul453xy
darsaneit
Location:
Post subject:Posted: 22/Jul/2011 15:36
onConfident
Joined: 21-Jul-2011
Posts: 28
Status: Offline
formstyle masih FSNORMAL FORM MENU DAN FORM ANAK;
form anak saya pindah ke AVAILABLE FORMS dan menunya di AUTO-CREAT FORM
saya pake script ini
Code:
with aFormClass.Create(Application) do
try
Caption := 'Disini diisi Caption Form';
ShowModal; //Tampilkan Form dengan Modal active
finally
Release; // Hapus memory
end;
manggilnya dari form menu menggunakan tombol
ExtShowForm(TF_ANAK);
erornya tidak bisa showmodal;
OZA COBA KASIH CONTOH GAN form1 untuk menu yang manggil form2 untuk anak.. gimana ? tapi form 2 sudah pindah ke AVAILABLE FORMS[/code]
_________________ Majulah IT
dr4cul453xy
Location: Nusa Dua,Denpasar
Post subject:Posted: 22/Jul/2011 16:33
onIntermediate
Joined: 19-Sep-2006
Posts: 40
Location: Nusa Dua,Denpasar
Status: Offline
darsaneit wrote:
erornya tidak bisa showmodal;
OZA COBA KASIH CONTOH GAN form1 untuk menu yang manggil form2 untuk anak.. gimana ? tapi form 2 sudah pindah ke AVAILABLE FORMS[/code]
Project Source Code:
Code:
program formdinamis;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, formmain_u, formdinamisanak_u;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain); // Main Form, harus auto create
// Application.CreateForm(TfrmAnak, frmAnak); // Form Anak, keluarkan dari AutoCreate
Application.Run;
end.
TfrmAnak = class(TForm)
Panel1: TPanel;
private
{ private declarations }
public
{ public declarations }
end;
var
frmAnak: TfrmAnak;
implementation
{$R *.lfm}
end.
Nb : Saya buat pake lazarus.
_________________ dr4cul453xy
darsaneit
Location:
Post subject:Posted: 23/Jul/2011 12:51
onConfident
Joined: 21-Jul-2011
Posts: 28
Status: Offline
iya gan SEPERTI ITU SAYA coba juga..
TAPI FORM2 atau form anak2 kalo nampilin/atau mroses QUERY pake dbgrid yang letak/ngambil querynya dari form3 atau anak 3(form3 seperti form2 juga tidak auto create) itu erorr dia gan kayak gini pesannya
itu apanya gan
_________________ Majulah IT
preman
Location:
Post subject:Posted: 24/Jul/2011 22:04
onNewBie
Joined: 22-Jul-2011
Posts: 3
Status: Offline
kalo menurut ku sich..
coba lihat ulang settingannya untuk koneksinya....
atau bisa juga coba aja buat project baru tapi kalo untuk formnya nda usah dibuat kan udah ada. tinggal ambil aja yang kita buat itu
dr4cul453xy
Location: Nusa Dua,Denpasar
Post subject:Posted: 25/Jul/2011 11:58
onIntermediate
Joined: 19-Sep-2006
Posts: 40
Location: Nusa Dua,Denpasar
Status: Offline
darsaneit wrote:
TAPI FORM2 atau form anak2 kalo nampilin/atau mroses QUERY pake dbgrid yang letak/ngambil querynya dari form3 atau anak 3(form3 seperti form2 juga tidak auto create) itu erorr dia gan
Kemungkinan form anak3 belum di load (inisiasi) sehingga akan terjadi exception pada saat anda coba memanggil query yang ada di form anak3.
Untuk kasus2 anda, coba :
1. Coba anda pilah, "MANA" kira2 penyebab error tsb. (misal load query pada form anak3).
2. Cari alternative pemecahan masalah (debugging or trial/error). (misal operasi/procedure load query dari form anak3 dibuatkan juga di form anak2)
3. Minimalisasi operasi pada event OnCreate form, KECUALI untuk inisiasi dynamic control yang dibuat runtime.
Jika error masih muncul, coba anda post source code untuk Form Main, Form Anak1, dan Form anak 2 (form tempat anda menaruh operasi query yang akan di load dari form anak1)
_________________ dr4cul453xy
darsaneit
Location:
Post subject:Posted: 25/Jul/2011 13:18
onConfident
Joined: 21-Jul-2011
Posts: 28
Status: Offline
ohhh gini gan... ane creat form3 dulu di form2 di ivent on creat
scriptnya gini:
Code:
if not Assigned(Form3) then
begin
Application.CreateForm(TForm3,Form3);
end;
gitu gak gan..? kalo gitu sick bisa..
tapi kayaknya tetep makan memory tuh gan.. udah saya cek..di task manager..
gimana biar kita creat form3 di on creat form2 tapi saat form2 di keluarin form2 dan form3 tidak terlalu makan memory
gitu..
_________________ Majulah IT
darsaneit
Location:
Post subject:Posted: 28/Jul/2011 15:03
onConfident
Joined: 21-Jul-2011
Posts: 28
Status: Offline
ayo ...COMENT LAGI DUNG... lanjut strategi irit MEMORY SAAT PEMBUKAAN DAN SAAT KELUAR FORM..
_________________ Majulah IT
mas_kofa
Location: New York Arto
Post subject:Posted: 31/Jul/2011 07:59
onElite
Joined: 18-Mar-2006
Posts: 1753
Location: New York Arto