News:

Download Pelles C here: http://www.pellesc.se

Main Menu

Recent posts

#71
Beginner questions / Re: Just installed Pelles C an...
Last post by John Z - July 19, 2026, 02:16:47 AM
Sage advice IF one uses various Pelles C tools outside of the IDE.

However if staying within the IDE I've never had an issue with installing Pelles C into directories with spaces, all the way back to at least Windows ME  :) .

My current install path C:\Program Files\PellesC_14_5\
My current source code path C:\Program Files\PellesC\Files\
even a path like C:\Program Files\PellesC\Files\BBBBuilder_PS - Copy (2) works without any problems.

I've never had Windows Defender flag Pelles C neither has my GData antivirus program. Although we've heard many stories about the 'free' antivirus programs flagging Pelles as well as programs built by Pelles C.


So just another viewpoint -

There is not enough information to be able to help Pablo until he posts more IMO.

John Z
#72
Beginner questions / Re: Just installed Pelles C an...
Last post by MrBcx - July 18, 2026, 04:13:31 PM
Hi Pablo,

For 20+ years, I've kept C:\Pellesc\ in the root of my drive and I tell
Windows to exclude that folder from Windows Defender wanting to scan it.

I never have problems using Pelles C with that arrangement.

The main thing is: DO NOT use spaces in your folder name.

#73
Beginner questions / Re: Just installed Pelles C an...
Last post by Vortex - July 18, 2026, 01:35:52 PM
Hi Pablo,

Kindly, what is your operating system? Is the User Access Control enabled? Do you have any antivirus software? Are you operating under an administrative account?
#74
Beginner questions / Re: Just installed Pelles C an...
Last post by John Z - July 18, 2026, 09:51:53 AM
Hi PabloMack,

Welcome back - I believe.

Not a lot of information provided - Error 2 is file not found.

Have you checked the shortcut properties?
Have you looked in "Program Files\PellesC\bin" for poide.exe?

I just did a clean install - worked fine.  Windows 11, 25H2, 64bit of course.

You might just try uninstalling and re-install after re-downloading from
https://www.pellesc.se/

John Z
#75
Beginner questions / Just installed Pelles C and un...
Last post by PabloMack - July 18, 2026, 03:56:44 AM
It has been years since I ran Pelles C so I installed the most recent release and I get the following message after trying to run poide:

Unable to start POIDE.EXE (error code 2)
#76
Projects developed with Pelles C / Re: Simple Calendar
Last post by John Z - July 17, 2026, 11:32:49 PM
Hi Marco,

Here is a version 2.0.2 that enables setting the Alert time to the current system time.  It does so without using a button, as I don't think it would be used very much, and space is limited without a significant GUI change.  The Alert time is not meant to be another system time clock. I suppose I could 'disable' scheduling unless the Alert time was changed but that seems burdensome to a user.

Right click in any open area of the controls line to set the Alert time to the current system time. 

So this may be an interim, or final solution, as I think on it more (after the next big thing  ;) )

I hope you don't mind that I acknowledge your assistance in the help file.

Thanks,
John Z

Full project sources zip attached. Also attached 7z which is just the program and help file for those that don't want/need the sources.
#77
Bug reports / PoFmt bug
Last post by MrBcx - July 17, 2026, 09:07:36 PM
Hi Pelle,

I discovered 2 scenarios that cause PoFmt to go off the rails ( mostly indentation ).

1) Optional args and 2) initialized variables

Here is a function that shows both after being processed by pofmt using either KR or PO styles.



char *join(int ArgCount, PCTSTR Str1, ...)
{
    va_list ap = {
    0
};
PSTR BCX_RetStr = NULL;
PSTR currentStr = NULL;
int i;
size_t totalLen;
totalLen = strlen(Str1);
//  Calc memory reqmnt
va_start(ap, Str1);
for(i=1; i<=ArgCount-1; i++)
{
currentStr = va_arg(ap,PSTR);
if(strlen(currentStr)>0) {
totalLen += (int)strlen(currentStr);
}
}
va_end(ap);
//  Allocate memory
BCX_RetStr = BCX_TempStr(totalLen);
if(BCX_RetStr == 0) {
return NULL; //   Not a good sign :-(
}
//   Init result with Str1
strcpy(BCX_RetStr,Str1);
//   Concat remainiing strings
va_start(ap, Str1);
for(i=1; i<=ArgCount-1; i++)
{
currentStr = va_arg(ap,PSTR);
if((int)strlen(currentStr)>0) {
strcat(BCX_RetStr,currentStr);
}
}
va_end(ap);
return BCX_RetStr;
}

#78
Projects developed with Pelles C / Re: Simple Calendar
Last post by Marco - July 15, 2026, 09:51:24 AM
Hi John,

QuoteI'll look into adding a button (no guarantees though).
Thank you for taking this into consideration. As I said, it's just a small suggestion. I like consistency in software. But this is just a personal preference.

Quoteas well as now testing the new 14.5  :)
Yep, me too  :)

Marco
#79
Projects developed with Pelles C / Re: Simple Calendar
Last post by John Z - July 14, 2026, 09:33:43 PM
Hi Marco,

Thanks for the feedback.  I'll look into adding a button (no guarantees though).
I'm in the middle of the next thing though, so it might be a bit for enhancement, as well as now testing the new 14.5  :)

John Z
#80
Announcements / Re: Release Candidate #1 for v...
Last post by Vortex - July 14, 2026, 09:30:48 PM
Assembling and linking the code below with Poasm Version 14.50.0 :

.386
.model flat,stdcall
option casemap:none

ExitProcess PROTO :DWORD
printf PROTO C :DWORD,:VARARG
OutputText PROTO C :DWORD,:VARARG

ALIAS "OutputText"="printf"

includelib  \PellesC\lib\Win\kernel32.lib
includelib  msvcrt.lib

.data

string      db 'Hello world!',0

.code

start:

    invoke  OutputText,ADDR string

    invoke  ExitProcess,0

END start

The executable is crashing.

An Ollydbg session is demonstrating the issue :

012D1000 > $ 68 00202D01    PUSH CalcLen.012D2000                    ;  ASCII "Hello world!"
012D1005   . E8 F6EFFFFF    CALL CalcLen.012D0000
012D100A   . 83C4 04        ADD ESP,4
012D100D   . 6A 00          PUSH 0                                   ; /ExitCode = 0
012D100F   . E8 00000000    CALL <JMP.&KERNEL32.ExitProcess>         ; \ExitProcess
012D1014   $-FF25 5C202D01  JMP DWORD PTR DS:[<&KERNEL32.ExitProcess>;  kernel32.ExitProcess
012D101A   .-FF25 64202D01  JMP DWORD PTR DS:[<&msvcrt.printf>]      ;  msvcrt.printf

CALL CalcLen.012D0000 is not correct.